2010-11-19 105 views
3

我目前正在開發一個包含多個ejb和一個ejb-jar.xml的項目。我想知道如何在各種ejbs之間共享來自ejb-jar.xml的env-entry。在多個ejb之間共享env-entry

例如:

我有以下的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> 

當MyBeanA我用:

@Ressource 
private SessionContext context; 

我可以用下面的獲得myVar的價值代碼:

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

有沒有辦法讓myVar在MyBeanB等其他ejb中獲得價值?

謝謝

+0

我最終選擇將共享數據放在一些屬性文件中,以便它們可以從每個ejb訪問。 – 2011-03-22 18:13:22

回答

2

嗯。本來應該有一部分的程序集描述符可以做到這一點,但是現在我們看到,在規格最終確定之前我們一定錯過了。恥辱。將它帶入EG並且交叉我的手指來修復EJB.next還不算晚。

與此同時,如果您有耳朵,您可以在application.xml中聲明它們,它將在java:app /中可用。如果您的.war文件中有EJB,您可以在web.xml中執行此操作,並且EJB可以在java:comp或java:模塊中查看它們。

+0

感謝您的回答,您認爲在可用之前它會很久嗎? – 2010-12-05 15:35:26

相關問題