Tomcat - 数据库连接池问题
Tomcat - Database connection pool issue
前提条件:hostB不可连接
当使用 context.xml(A) 时,每个数据连接都会在 Tomcat 启动时被检查(在 hostB 的数据连接池初始化时抛出错误),而 context.xml(B),似乎没有检查任何数据库连接错误。
有人知道为什么会这样吗?
谢谢
↓context.xml(A)
<Resource name="jdbc/AAA"
initialSize="8"
minIdle="8"
maxWait="300000"
removeAbandoned="true"
removeAbandonedTimeout="60"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostA:port;databaseName=sqlserverDB" />
<Resource name="jdbc/BBB"
initialSize="8"
minIdle="8"
maxWait="300000"
removeAbandoned="true"
removeAbandonedTimeout="60"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostB:port;databaseName=sqlserverDB" />
↓context.xml(乙)
<Resource name="jdbc/AAA"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostA:port;databaseName=sqlserverDB" />
<Resource name="jdbc/BBB"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostB:port;databaseName=sqlserverDB" />
第一个设置了 initilsize 和 minIdle,因此 tomcat 将尝试在初始化时打开 8 个连接。第二个闲置直到真正需要它。
前提条件:hostB不可连接
当使用 context.xml(A) 时,每个数据连接都会在 Tomcat 启动时被检查(在 hostB 的数据连接池初始化时抛出错误),而 context.xml(B),似乎没有检查任何数据库连接错误。
有人知道为什么会这样吗?
谢谢
↓context.xml(A)
<Resource name="jdbc/AAA"
initialSize="8"
minIdle="8"
maxWait="300000"
removeAbandoned="true"
removeAbandonedTimeout="60"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostA:port;databaseName=sqlserverDB" />
<Resource name="jdbc/BBB"
initialSize="8"
minIdle="8"
maxWait="300000"
removeAbandoned="true"
removeAbandonedTimeout="60"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostB:port;databaseName=sqlserverDB" />
↓context.xml(乙)
<Resource name="jdbc/AAA"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostA:port;databaseName=sqlserverDB" />
<Resource name="jdbc/BBB"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostB:port;databaseName=sqlserverDB" />
第一个设置了 initilsize 和 minIdle,因此 tomcat 将尝试在初始化时打开 8 个连接。第二个闲置直到真正需要它。