Как я могу настроить модуль и имя приложения для поиска JNDI

В EJB 3.1 JNDI-поиск может быть выполнен с разными Lookup-именами:

java:global[/<app-name>]/<module-name>/<bean-name>!<fully-qualifiedbean interface-name>           
java:global[/<app-name>]/<module-name>/<bean-name> 
java:app/<module-name>/<bean-name>!<fully-qualified-bean-interface-name> 
java:app/<module-name>/<bean-name> 
java:module/<bean-name>!<fully-qualified-bean-interface-name> 
java:module/<bean-name>

В моем проекте JavaEE 6 (с Maven 2, Netbeans 6 и Glassfish v3) имя приложения - X-Snapshot.ear, а EJB-модуль - Y-Snapshot.jar. Как я могу настроить этот проект Maven для использования другого приложения и имени модуля? Я не хочу менять все поиски JNDI, когда меняются эти имена !! Так можно ли настроить имена приложений и модулей для JNDI LookUps?

16
задан Pascal Thivent 7 August 2010 в 20:40
поделиться

1 ответ

Наивный подход

Maven EAR Plugin позволяет Customize A Module Filename и вы можете задать окончательное имя EAR, используя project.build.finalName.

Гораздо лучший подход

Переопределить и в application.xml и ejb-jar.xml соответственно. Цитирую Portable Global JNDI name in EJB 3.1:

В дополнение к вышеуказанному имени, если EJB раскрывает только одно клиентское представление (то есть он реализует только один интерфейс или представление без интерфейса), контейнер также обязан отобразить боба в

java:global/[<имя приложения>]/<имя модуля>/<имя боба>

где

  1. <имя приложения> по умолчанию означает имя пакета (имя файла .ear) без расширения. расширения пакета. Это можно переопределить в application.xml. Также, <имя приложения> применяется только в том случае, если боб упакован в пакет .ear файла.
  2. <Имя модуля> по умолчанию означает имя пакета (.war или .jar) без расширения расширения bundle. Опять же, это можно переопределить в ejb-jar.xml.
  3. По умолчанию используется неквалифицированное имя класса боба. Однако, если @Stateful или @Stateless или @Singleton используется атрибут атрибут name, то значение указанное там, будет использоваться в качестве имя боба.
17
ответ дан 30 November 2019 в 21:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: