2015-06-13 6 views
1

Если у меня есть EJB, упакованный в WAR, поскольку он отображается как веб-служба REST, в соответствии с this link, мне нужно иметь файлы ejb - *. Xml в корне WEB-INF каталог. Моя текущая среда - это Websphere 8.5 и EJB 3.1Приоритет дескрипторов развертывания EJB

Если я позже добавлю несколько EJB (в отдельных проектах EJB) в одно и то же приложение и определите его дескрипторы развертывания в соответствующих проектах, они, похоже, будут проигнорированы. Похоже, что все мои дескрипторы должны быть определены в дескрипторах в каталоге WEB-INF, или, другими словами, кажется, что я должен расширять дескрипторы в каталоге WEB-INF даже для EJB, которые определяются как отдельные проекты.

Это так, как должно быть, или мне не хватает чего-то, что заставляет меня это делать? Я не мог найти документацию, объясняющую эту часть.

Подробнее: Это как мой application.xml выглядит

<?xml version="1.0" encoding="UTF-8"?> 
<application xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd" 
version="7"> 
<display-name>MyApp</display-name> 
<module id="Module_1395346343165"> 
    <web> 
     <web-uri>MyWeb.war</web-uri> 
     <context-root>myapp</context-root> 
    </web> 
</module> 
<module id="Module_1395346304194"> 
    <ejb>ejb1.jar</ejb> 
</module> 
<module id="Module_1424684968934"> 
    <ejb>ejb2.jar</ejb> 
</module> 
<module id="Module_1431010943758"> 
    <ejb>ejb3.jar</ejb> 
</module> 
</application> 

EJB1 является тот, который будет жить в веб-приложение. Остальные два, ejb2 и ejb3 являются отдельными проектами ejb, которые должны находиться в корне EAR.

+0

Возможно, вам не хватает дескрипторов, специфичных для вашего сервера приложений. –

+0

Не уверен, я понимаю, что вы имеете в виду. У меня есть все дескрипторы, определенные в отдельных проектах, но они, похоже, превзойдены теми, что находятся в каталоге WEB-INF WAR. Я пытаюсь сохранить их (дескрипторы) независимыми, так как они разные EJB. – adbdkb

+0

Что вы подразумеваете под «отдельными проектами EJB»? Как выглядит ваш фактический артефакт развертывания? Разделяются ли эти отдельные проекты EJB как .jar в WEB-INF/lib/вашей WAR? Если да, то это работает как ожидалось: в EJB 3.1 spec, ejb-jar.xml файлы в .jar в WEB-INF/lib/игнорируются, и используется только WEB-INF/ejb-jar.xml. –

ответ

0

Для EJBs в модуле WAR, файлы идут в WEB-INF, так .ear!/MyWeb.war!/ejb-jar.xml, .ear!/MyWeb.war!/ibm-ejb-jar-bnd.xml и т.д.

Для EJBs в сепаратор EJB модулей вне WAR, файлы идут в META-INF. Итак, .ear!/ejb1.jar!/META-INF/ejb-jar.xml, .ear!/ejb1.jar!/META-INF/ibm-ejb-jar-bnd.xml и т. Д.

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

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