此刻我正在处理必须使用连接工厂的应用程序。 当我通过在WAS中设置的名称直接在全局级别上查找连接工厂时,所有工作都正常,但对于解耦,我想在应用程序中定义资源引用并查找该名称。所以,我创建了以下在我的application.xml条目:无法在Websphere中查找组件级别的资源
<resource-ref>
<res-ref-name>jms/connectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
我做那么我的EJB内部正在查找如下:
ConnectionFactory connectionFactory =
(ConnectionFactory) ic.lookup("java:comp/env/jms/connectionFactory");
这导致此异常:
javax.naming.NameNotFoundException: Name comp/env/jms not found in context "java:".
我也试过它:
ConnectionFactory connectionFactory =
(ConnectionFactory) ic.lookup("java:app/jms/connectionFactory");
导致:
javax.naming.NameNotFoundException: Context: BPMDev/applications/com.ibm.ws.AppNameSpaces/MAN_POT/root,
name: jms/connectionFactory: First component in name jms/connectionFactory not found.
有没有人知道我在做什么错在这里? 在此先感谢!