我有5个不同的模块使用Tomcat连接池连接sql server 2008和2012。
在Tomcat7 \ conf \ context.xml
中<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/Module1">
<Resource name="jdbc/testdb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60"
username="abc" password="abc" driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost;databaseName=testdb;SelectMethod=Cursor"/>
模块1 - 在Tomcat7 \ conf \ localhost \ Module1.XML
中<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/Module2">
<Resource name="jdbc/testdb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60"
username="abc" password="abc" driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost;databaseName=testdb;SelectMethod=Cursor"/>
</Context>
模块2 - 在Tomcat7 \ conf \ localhost \ Module2.XML
中<Context antiJARLocking="true" path="/Module3">
<Resource name="jdbc/testdb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60"
username="abc" password="abc" driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost;databaseName=testdb;SelectMethod=Cursor"/>
</Context>
模块3 - 在Tomcat7 \ conf \ localhost \ Module3.XML
中<Context antiJARLocking="true" path="/Module4">
<Resource name="jdbc/testdb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60"
username="abc" password="abc" driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost;databaseName=testdb;SelectMethod=Cursor"/>
</Context>
模块4 - 在Tomcat7 \ conf \ localhost \ Module4.XML
中du-c9
我在QA服务器和登台服务器上遇到以下错误? 06-Apr-2015 07:43:28错误DBAccess:49 - I / O错误:通过对等方重置连接:套接字写入错误
我的Tomcat 7连接池配置有什么问题?为什么它被sql server拒绝
答案 0 :(得分:1)
您正在尝试同时使用所有模块,您已在其中定义了资源&#39;同名,即name =&#34; jdbc / testdb&#34;据我所知,这个名称必须是唯一的,因为它与你给name属性的值绑定了jndi(参见tomcat文档https://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Resource_Definitions)。如果在不同模块(Web应用程序)中定义具有相同名称的数据源,请看它们未同时使用。在服务器的某个地方,这种情况正在发生。为安全起见,请使用“资源”的不同名称。 另一件事 - 是资源&#39;名称=&#34; jdbc / testservice2&#34;用于你提到的五个模块中的任何一个。因为我没有看到你的五个模块之间的连接与这个资源&#39;。