由sql server 2008和2012重置Tomcat连接池

时间:2015-05-19 12:15:31

标签: sql-server connection-pooling

我有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拒绝

1 个答案:

答案 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;。