JBoss 7 jndi имена пакетов ejb в войне

Кто-нибудь знает, как изменить компонент «модуль» глобальных имен jndi для ejb, развернутых в войне под JBoss 7.2 (EAP 6.1)?

Согласно спецификации, имя модуля совпадает с базовым именем войны, которое в моем случае включает номер версии.

Вот спецификация от Oracle:

java:global/[<application-name>]/<module-name>/<bean-name>

В моем случае это дает:

java:/global/mywar-1.0/MyService

Я бы хотел:

java:/global/mywar/MyService

Я знаю, что могу изменить имя войны до развертывания, но предпочел бы явно указать модуль через файл конфигурации. Я попытался использовать имя модуля ejb-jar.xml, но это не дало результата.


person Bill Pfeiffer    schedule 01.05.2014    source источник


Ответы (2)


Решено: мне пришлось включить / обновить пространство имен xsd / для более поздней спецификации 3.0 для web.xml. Это позволяет указать элемент «имя модуля» в файле web.xml, который будет использоваться при создании имени jndi. Протестировано и работает на JBoss EAP 6.1.

Вот заголовок web.xml и элемент имени модуля:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     id="WebApp_ID" version="3.0">

     <module-name>mywar</module-name>
person Bill Pfeiffer    schedule 03.05.2014

Что вам нужно сделать, так это создать jboss-web.xml и поместить его в META-INF рядом с web.xml. Поместите это внутрь:

<jboss-web>
    <context-root>mywar</context-root>
</jboss-web>

Ваше здоровье!

Если бы это было упаковано в EAR, вы бы использовали для этого application.xml.

person jgitter    schedule 02.05.2014
comment
Спасибо за ответ. На самом деле у меня уже настроен контекстный корень, и он работает, как ожидалось (устанавливает контекстный корень URL-адреса приложения). Это были имена jndi, присвоенные ejb, упакованным во время войны, которые я пытался приспособить. Когда я установил контекстный корень, имена jndi все еще содержали базовое имя войны (включая версию). - person Bill Pfeiffer; 04.05.2014
comment
Попался - извини, я ничем не мог больше помочь. - person jgitter; 05.05.2014