这是他们在ejb-jar.xml中声明资源引用的方式:
<enterprise-beans>
<session>
<ejb-name>ResourceBean</ejb-name>
<resource-ref>
<res-ref-name>jdbc/employee</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>
</session>
</enterprise-beans>
在此链接:http://javahowto.blogspot.ca/2006/06/5-ways-to-get-resources-in-ejb-3.html 现在如果我有另一个需要使用相同resource-ref的会话bean,我是否必须在第二个EJB中再次声明它?或者有解决方法吗?
答案 0 :(得分:3)
在EE 6之前(在WebSphere Application Server 8.0中可用),无法跨EJB共享resource-ref
。您必须重新声明每个EJB中的resource-ref
。
在EE 6中,您可以使用诸如java:module/env/jdbc/employee
之类的名称声明resource-ref,并且它将对模块中的所有EJB可见(并且java:app
对所有模块都可见,并且所有应用都可以看到java:global
。