前提条件: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(B)
<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" />
答案 0 :(得分:2)
第一个有initilsize set和minIdle,因此tomcat将在initlization时尝试打开8个连接。第二个闲置,直到实际需要为止。