Мне нужна помощь с практическими рекомендациями в среде разработки Weblogic (Oracle Workshop for WebLogic 10.3).
У меня есть сессионный компонент в одном .jar, и мне нужно использовать его из объекта, управляемого сообщениями, в другом .jar. Я хочу использовать нотацию "java: comp / env / ..." при поиске сессионного компонента.
jndiCtx = new InitialContext();
workerHome = (WorkerSBLocalHome) jndiCtx.lookup("java:comp/env/ejb/WorkerSBLocalHome");
WorkerSBLocal worker = workerHome.create();
Таким образом, мне нужно создать ссылку на ejb в дескрипторе развертывания компонента MDB (ejb-jar.xml):
<ejb-local-ref>
<ejb-ref-name>ejb/WorkerSBLocalHome</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>test.WorkerSBLocalHome</local-home>
<local>test.WorkerSBLocal</local>
<ejb-link>WorkerEJB.jar#WorkerSB</ejb-link>
</ejb-local-ref>
Это работает (проверено).
Проблема заключается в том, что дескриптор развертывания MDB генерируется, и каждый раз, когда я редактирую источник MDB, Oracle Workshop повторно генерирует дескриптор развертывания, используя аннотации классов, и перезаписывает мои добавления.
Итак, мой вопрос: как лучше всего ссылаться на EJB из MDB при работе с Oracle Workshop для WL? Или есть ли другой предпочтительный способ создания ссылок на bean-компоненты при использовании аннотаций ejb, чем тот, который я описал выше? Или я должен разместить ссылку на свой бин где-нибудь еще?