Если у меня есть 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.
Возможно, вам не хватает дескрипторов, специфичных для вашего сервера приложений. –
Не уверен, я понимаю, что вы имеете в виду. У меня есть все дескрипторы, определенные в отдельных проектах, но они, похоже, превзойдены теми, что находятся в каталоге WEB-INF WAR. Я пытаюсь сохранить их (дескрипторы) независимыми, так как они разные EJB. – adbdkb
Что вы подразумеваете под «отдельными проектами EJB»? Как выглядит ваш фактический артефакт развертывания? Разделяются ли эти отдельные проекты EJB как .jar в WEB-INF/lib/вашей WAR? Если да, то это работает как ожидалось: в EJB 3.1 spec, ejb-jar.xml файлы в .jar в WEB-INF/lib/игнорируются, и используется только WEB-INF/ejb-jar.xml. –