我目前正在开发一个包含多个ejb和一个ejb-jar.xml的项目。我想知道如何在各种ejbs之间共享ejb-jar.xml中的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");
有没有办法在MyBeanB这样的另一个ejb中获取myVar的值?
谢谢
答案 0 :(得分:2)
嗯。应该有汇编描述符的一部分你可以做到这一点,但我现在看到我们必须在规范最终之前错过了。耻辱。将把它带到EG并交叉我的手指,为EJB.next修复它还为时不晚。
与此同时,如果你有一个耳朵,你可以在application.xml中声明它们,它将在java:app /中可用。如果在.war文件中有EJB,则可以在web.xml中执行,EJB可以在java:comp或java:module中查看它们。