В настоящее время я пишу набор EJB, которые взаимодействуют с некоторым старым кодом EJB2. Как часть этого, у меня есть дескриптор развертывания ejb-jar.xml
, который содержит ресурсы-ссылки и ejb-ссылки для сеансовых компонентов. Все эти определения в основном идентичны — между ними различается только имя сессионного компонента. Очевидно, это не идеально — каждый раз, когда я добавляю новый компонент, мне приходится копировать и вставлять большой блок XML.
Структура выглядит примерно так:
<ejb-jar
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd" version="3.1">
<enterprise-beans>
<session>
<ejb-name>/* redacted */</ejb-name>
<resource-ref>
<res-ref-name>/* redacted */</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
<lookup-name>/* redacted */</lookup-name>
</resource-ref>
<ejb-ref>
<ejb-ref-name>/* redacted */</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>/* redacted */</home>
<remote>/* redacted */</remote>
</ejb-ref>
/* about 20 more ejb-refs later... */
</session>
/* several near identical session beans here ... */
</ejb-jar>
Есть ли способ повторно использовать эти ссылки в нескольких определениях без дублирования? Или, наоборот, есть ли лучший способ добиться того же конечного результата, которого мне не хватает?