我在Jboss服务器上运行了一个应用程序。在Jboss上它使用JNDI源代码来建立数据库连接名cc.xml& iv.xml。(jboss / server / default / deploy /两个jndi xml都在这里)
现在我必须在Tomcat上部署相同的战争并尝试创建&从tomcat访问JNDI源代码。我做了以下更改 -
将以下代码添加到META-INF / Context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/R2">
<ResourceLink name="ivrDataSource" global="ivrDataSource" type="javax.sql.DataSource" />
<Resource
name="ivrDataSource"
type="javax.sql.DataSource"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
password=""
maxIdle="2"
maxWait="5000"
username="user"
url="jdbc:jtds:sqlserver://abc:1433;DatabaseName=IVR_GUARDIAN;tds=8.0;lastupdatecount=false;socketKeepAlive=true;"
maxActive="4"/>
<ResourceLink name="ccDataSource" global="ccDataSource" type="javax.sql.DataSource" />
<Resource
name="ccDataSource"
type="javax.sql.DataSource"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
password=""
maxIdle="2"
maxWait="5000"
username="web"
url="jdbc:jtds:sqlserver://xyz:1433;DatabaseName=CC_GUARDIAN;tds=8.0;lastupdatecount=false;socketKeepAlive=true;"
maxActive="4"/>
</Context>
以下添加到WEB.XML ----
<!-- FOR TOMCAT DEPLOYMRNT -TESTING -->
<resource-ref>
<description>ccDataSource</description>
<res-ref-name>ccDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<description>ivrDataSource</description>
<res-ref-name>ivrDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
但我收到错误 -
javax.naming.NameNotFoundException: Name ccDataSource,ivrDataSource is not bound in this Context.
总是在JBOSS上工作,所以这对我来说很新。在这里发现一些事情。请建议。
答案 0 :(得分:0)
您不必使用<ResourceLink>
。尝试删除<ResourceLink>
s。
<ResourceLink>
用于创建指向全局JNDI资源的链接。
请参阅以下链接了解更多详情。
http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html
http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Resource%20Links
希望这有帮助。