3

我目前正在开发一个包含多个 ejb 和一个 ejb-jar.xml 的项目。我想知道如何在各种 ejb 之间共享来自 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 的值?

4

1 回答 1

2

唔。应该有一部分汇编描述符可以在其中执行此操作,但我现在看到我们必须在规范最终确定之前错过了这一点。耻辱。将在 EG 中提出这一点,并在我的手指上交叉,现在修复 EJB.next 还为时不晚。

同时,如果你有耳朵,你可以在 application.xml 中声明它们,它将在 java:app/ 中可用。如果您在 .war 文件中有 EJB,则可以在 web.xml 中进行,EJB 将能够在 java:comp 或 java:module 中看到它们。

于 2010-12-02T20:02:49.007 回答