2015-12-18 7 views
0

Мы используем Maven и Artifactory, и поэтому наши файлы ухо имеют имена, какпереопределяют имена JNDI в JBoss EJB3.1

our-project-ear-0.0.1-20151215.151526-3.ear. 

Так JNDI имена для наших EJBs имеют имена, как

java:global/our-project-ear/our-project-ejb/AnEjbJar!com.acme.ourproject.SomeEjb. 

Эти имена не просто уродливые и сложные, они также включают временные суффиксы, добавленные Maven/Artifactory.

Я думал, что мы могли бы упростить имена с помощью аннотации @RemoteHomeBinding, основанной на JBoss, но я не нахожу эту аннотацию в EAP 6.3. Есть ли способ сделать это? Если нет, как я могу управлять именем JNDI, под которым публикуются мои EJB?

ответ

1

Выяснил это сам. @RemoteBinding, @LocalBinding, @RemoteHomeBinding и @LocalHomeBinding аннотации были отменены в AS7.x. A version of the JBoss instructions for migrating from AS5/6 to AS7 (not the current one) состояния:

>In AS7 there is no possibility for custom JNDI names of EJB beans and it's not planned for 7.1. 

>Therefor the annotation @RemoteBindings and @LocalBindings are not available. 

Рекомендуемый подход заключается в использовании привязок по умолчанию. Тем не менее, имена пользовательских JNDI также могут быть определены с помощью @EJB аннотацию, как указано в this Oracle blog:

Разработчик может выбрать дополнительное имя JNDI, устраняющее к определенному мнению клиента сессионного компонента с помощью @EJB аннотацию , Начиная с Java EE 6, значение атрибута @EJB name() может быть префикс любым из трех переносных пространств имен Java EE: java: global, java: app, java: module. Это приводит к экспорту зависимости в выбранную область.

0

Я думаю, что вы ищете:

@Ejb(lookup="java:/global/somecustomPath") 

Как это не повлияет, где в JNDI боб связан, а где найти его в JNDI.

Если я прав, это связано с тем, что JBOSS7 является сервером приложений JEE6, а JEE6 представляет концепцию портативных глобальных имен JNDI в JEE6.

 Смежные вопросы

  • Нет связанных вопросов^_^