是否可以定义适用于应用程序中所有 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 查找来访问它。有什么办法可以实现这一点吗?
最佳答案
不,在 J2EE 1.4 中不可能像这样考虑资源引用。 JavaEE 6 提供 <resource-ref-name>java:module/jdbc/myDatasource</resource-ref-name>
(以及 java:app
和 java:global
)在更高级别共享资源引用。
关于java - EJB 2.1 项目中应用程序范围的资源引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2875914/