如何在连接池失败时设置重试。

时间:2012-12-01 23:11:10

标签: tomcat

我想问两个关于连接池的问题 1.我得到java.sql.SQLNonTransientConnectionException错误引起:org.apache.derby.client.am.DisconnectException :. 有没有办法在xml中重试连接?

  1. 我使用最新的德比司机吗?我听说使用最新的德比驱动程序可以解决问题,但我想在互联网上使用德比驱动程序。
  2. 这是我的连接池的代码。

    <?xml version="1.0" encoding="UTF-8"?>
      <Context privileged="true" reloadable="true">
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
        <Manager pathname=""/>
        <Resource name="jdbc/CSE" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
                  type="javax.sql.DataSource"
                  driverClassName="org.apache.derby.jdbc.ClientDriver"
                  url="jdbc:derby://indigo.cse.yorku.ca:9999/CSE"
                  username="student" password="secret"/>    
        <ResourceLink global="jdbc/CSE" name="jdbc/EECS" type="javax.sql.DataSource"/>
      </Context>
    

1 个答案:

答案 0 :(得分:0)

参考this。我在下面添加了参数:

  • testOnBorrow = “真”
  • validationQuery =“SELECT 1”
  • removeAbandoned =“真
 <Resource name="jdbc/CSE" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" type="javax.sql.DataSource"
              driverClassName="org.apache.derby.jdbc.ClientDriver"
              url="jdbc:derby://indigo.cse.yorku.ca:9999/CSE"
              username="student" password="secret" testOnBorrow="true"
            validationQuery="SELECT 1"
            removeAbandoned="true"/>    
    <ResourceLink global="jdbc/CSE" name="jdbc/EECS" type="javax.sql.DataSource"/>