我遇到了不同应用程序服务器上的JNDI提供程序可能具有不同代理接口/类的情况(如在JMS中,Websphere可能有javax.jms.QueueConnectionFactory
而不是javax.jms.ConnectionFactory
),因此在web.xml中
<resource-ref>
<description>JNDI for jms access</description>
<res-ref-name>jms/ConnectionFactory</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
是否必须定义<res-type>javax.sql.DataSource</res-type>
以使一切正常?
我认为JNDI名称应该没问题,因为它在初始上下文中应该是唯一的吗?
我确实从Oracle找到something但不确定它是否正式?
答案 0 :(得分:0)
来自EE平台规范(强调我的):
如果指定了注射目标,则res-type元素是可选的 此资源;在这种情况下,res-type默认为类型 注射目标。
我相信如果某些其他应用服务器需要不同的值,javax.jms.ConnectionFactory
也应该在WebSphere Application Server上工作。