2010-11-19 17 views
3

Je travaille actuellement sur un projet avec plusieurs ejb et un ejb-jar.xml. Je me demande comment partager l'entrée env du fichier ejb-jar.xml entre les différents ejbs.partager env-entre plusieurs ejb

exemple:

je les suivantes 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> 

Lorsque dans le MyBeanA j'utilise:

@Ressource 
private SessionContext context; 

je peux obtenir la valeur de myVar avec les éléments suivants Code:

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

Existe-t-il un moyen d'obtenir la valeur de myVar dans un autre ejb comme MyBeanB?

Merci

+0

Je choisis enfin de mettre les données partagées sur certains fichiers de propriétés afin qu'ils soient accessibles à partir de chaque ejb. –

Répondre

2

Hmm. Il devait y avoir une section du descripteur de l'assemblée où vous pouviez faire cela, mais je vois maintenant que nous avons dû l'oublier avant que la spécification soit définitive. La honte. J'amènerai ça dans l'EG et je croiserai les doigts, il n'est pas trop tard pour corriger pour EJB.next. En attendant, si vous avez une oreille, vous pouvez les déclarer dans le fichier application.xml et elle sera disponible dans java: app /. Si vous avez des EJB dans un fichier .war, vous pouvez le faire dans le fichier web.xml et les EJB pourront les voir dans java: comp ou java: module.

+0

Merci pour votre réponse, pensez-vous qu'il faudra attendre longtemps avant d'être disponible? –