java - Tomcat - 数据库连接池问题

标签 java xml tomcat jdbc context.xml

前提条件: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" />

最佳答案

第一个设置了 initilsize 和 minIdle,因此 tomcat 将在初始化时尝试打开 8 个连接。第二个闲置直到真正需要它为止。

关于java - Tomcat - 数据库连接池问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29193736/

相关文章:

java - 由于 Grails 中的 java.lang.reflect.MalformedParameterizedTypeException,创建名称为 'pluginManager' 的 bean 时出错

eclipse - 在 Eclipse 中调试 JSP 时如何修改查询字符串

c# - 如何在 Java 中处理用户控件(如 JList)的事件

java - 如何在特定键处启动 Jackson JSON ObjectMapper?

mysql - 我如何通过 t-sql 从 URL 读取多个 xml 值

java - Android onClick() 在 ImageView 动画时无法正常工作

python-pptx - 如何以编程方式访问演示文稿部分标题?

Tomcat JDBC 的 Oracle VPD session 问题

java - 有没有办法知道 ServletContextListener 中 Web 应用程序发生了什么变化?

java - 为什么我们必须固定每次测量迭代的持续时间?