2010-11-19 6 views
3

Ich arbeite derzeit an einem Projekt mit mehreren ejb und einer ejb-jar.xml. Ich frage mich, wie ich den env-Eintrag aus der ejb-jar.xml zwischen den verschiedenen ejbs teilen kann.Freigabe env-Eintrag zwischen mehreren ejb

Beispiel:

Ich habe folgendes ejb-jar.xml

<session> 
    <ejb-name>MyBeanA</ejb-name> 
    <ejb-class>com.enterprise.MyBeanA</ejb-class> 

    <env-entry> 
    <env-entry-name>myVar</env-entry-name> 
    <env-entry-type>java.lang.String</env-entry-type> 
    <env-entry-value>some value for my var</env-entry-value> 
    </env-entry> 
</session> 

Wenn im MyBeanA ich benutze:

@Ressource 
private SessionContext context; 

ich den Wert von myVar mit folgendem bekommen Code:

String myVar = (String) context.lookup("java:comp/env/myVar"); 

Gibt es eine Möglichkeit, den Wert von myVar in einem anderen ejb wie MyBeanB zu erhalten?

Vielen Dank

+0

Ich habe schließlich beschlossen, die freigegebenen Daten auf einige Eigenschaften Dateien zu legen, so dass sie von jedem ejb zugänglich sind. –

Antwort

2

Hmm. Es hätte einen Abschnitt des Assembly-Deskriptors geben sollen, wo du das machen konntest, aber ich sehe jetzt, dass wir das verpasst haben müssen, bevor die Spezifikation endgültig wurde. Schande. Werde das in der EG aufbringen und mir die Daumen drücken, es ist nicht zu spät für EJB.next zu reparieren.

In der Zwischenzeit, wenn Sie ein Ohr haben, können Sie sie in der application.xml deklarieren und es wird in Java verfügbar sein: app /. Wenn Sie EJBs in einer WAR-Datei haben, können Sie dies in der web.xml tun, und die EJBs können sie entweder in java: comp oder java: module sehen.

+0

Danke für deine Antwort, denkst du es wird lange dauern bevor es verfügbar ist? –

Verwandte Themen