Ich brauche eine How-to-do-Hilfe in der Weblogic-Entwicklungsumgebung (Oracle Workshop für WebLogic 10.3).Wie referenzieren Sie EJBs von einem anderen EJB in Oracle Workshop für WebLogic?
Ich habe eine Session-Bean in einem .jar, und ich muss es von einer Message-Bean in einem anderen .jar verwenden. Ich möchte die "java: comp/env/..." -Notation beim Nachschlagen der Session-Bean verwenden.
jndiCtx = new InitialContext();
workerHome = (WorkerSBLocalHome) jndiCtx.lookup("java:comp/env/ejb/WorkerSBLocalHome");
WorkerSBLocal worker = workerHome.create();
So muss ich die ejb Referenz in der MDB Komponente Deployment Descriptor (ejb-jar.xml) erstellen:
<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>
Das funktioniert (getestet). Das Problem besteht darin, dass der MDB-Deployment-Deskriptor generiert wird und jedes Mal, wenn ich die MDB-Quelle bearbeite, generiert Oracle Workshop den Deployment-Deskriptor mithilfe der Klassenanmerkungen neu und überschreibt meine Additionen.
Meine Frage ist also: Was ist der beste Weg, eine EJB von einer MDB zu referenzieren, wenn Sie mit dem Oracle Workshop für WL arbeiten? Oder gibt es eine andere bevorzugte Methode zum Erstellen der Bean-Referenzen, wenn Sie die ejb-Annotationen als die oben genannten verwenden? Oder sollte ich meine Bean-Referenz irgendwo anders platzieren?