是否可以定义适用于应用程序中所有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都为这两个EJB定义了相同的resource-ref。有没有办法在J2EE 1.4应用程序中考虑这种重复?
理想情况下,我应该能够在应用程序中定义一次jdbc / myDatasource资源,并且通过对“java:comp / env / jdbc / myDatasource”执行JNDI查找,使该容器内运行的任何内容都能够访问它。有没有办法实现这个目标?
答案 0 :(得分:2)
不,在J2EE 1.4中不可能将这样的资源引用考虑在内。 JavaEE 6提供<resource-ref-name>java:module/jdbc/myDatasource</resource-ref-name>
(以及java:app
和java:global
)来共享更高级别的资源引用。