2012-12-01 57 views
1

我想問關於連接池的兩個問題 1.獲取java.sql.SQLNonTransientConnectionException錯誤導致:org.apache.derby.client.am.DisconnectException:。 有沒有辦法在xml中重試連接?如何在連接池出現故障時設置重試。

  1. 我使用最新的德比驅動程序嗎?我聽說最近使用德比驅動程序可以解決這個問題,但我想通過互聯網使用德比驅動程序。

這是我的連接池的代碼。

<?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> 

回答

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"/>