是否在web.xml中进行JNDI设置需要res类型?

时间:2014-12-01 23:26:00

标签: java spring java-ee ejb jndi

我遇到了不同应用程序服务器上的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但不确定它是否正式?

1 个答案:

答案 0 :(得分:0)

来自EE平台规范(强调我的):

  

如果指定了注射目标,则res-type元素是可选的   此资源;在这种情况下,res-type默认为类型   注射目标。

我相信如果某些其他应用服务器需要不同的值,javax.jms.ConnectionFactory也应该在WebSphere Application Server上工作。