1

是否可以定义适用于应用程序中所有 EJB 的资源引用?

目前我有一个看起来像这样的 ejb-jar.xml:

<ejb-jar>
  <enterprise-beans>
    <session id="foo">
      <!-- snip -->
      <resource-ref>
        <res-ref-name>jdbc/myDatasource</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    </session>
    <session id="bar">
      <!-- snip -->
      <resource-ref>
        <res-ref-name>jdbc/myDatasource</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    </session>
  </enterprise-beans>
</ejb-jar>

您会注意到两个 EJB 都为它们定义了相同的资源引用。有没有办法在 J2EE 1.4 应用程序中排除这种重复?

理想情况下,我应该能够在应用程序中定义一次 jdbc/myDatasource 资源,并且在该容器中运行的任何东西都能够通过对“java:comp/env/jdbc/myDatasource”进行 JNDI 查找来访问它。有没有办法做到这一点?

4

1 回答 1

2

不,在 J2EE 1.4 中不可能像这样考虑资源引用。JavaEE 6 提供<resource-ref-name>java:module/jdbc/myDatasource</resource-ref-name>(和java:appjava:global)在更高级别共享资源引用。

于 2010-05-20T17:37:31.233 回答