讓Proxool連線池支援自動重連線

2021-08-24 18:40:44 字數 647 閱讀 6250

專案使用的連線池是proxool,功能相當強大,不過今天遇到乙個問題,如果連線池在執行當中,出現網路或者資料庫故障而無法連線到資料庫,在恢復正常以後,由於連線是在連線池中持久儲存的,會出現連線仍然不可用的情況,這時連線池裡的連線實際上都是壞連線,怎麼讓連線池可以自動重連清除這些壞連線呢?

在網上搜了半天,有不少人問這個問題,但不是沒人回答就是講了一堆如何配置,沒說怎麼才能自動重連線。經過查官方文件的配置引數和測試,發現其實只要配置了test-before-use 引數,即每次取出連線都檢查連線是否可用,就可以做到讓連線池實現在故障恢復後自動重連線。例項配置檔案如下:(紅色的部分)

pool

jdbc:mysql://localhost:3306/cds

com.mysql.jdbc.driver

1 8

1true

60000 

select current_date from dual

需要注意一點,對於mysql資料庫還必須在連線引數裡加上autoreconnect=true 引數,否則即使開啟了test-before-use 引數,仍然不能重連線!

讓Proxool連線池支援自動重連線

專案使用的連線池是proxool,功能相當強大,不過今天遇到乙個問題,如果連線池在執行當中,出現網路或者資料庫故障而無法連線到資料庫,在恢復正常以後,由於連線是在連線池中持久儲存的,會出現連線仍然不可用的情況,這時連線池裡的連線實際上都是壞連線,怎麼讓連線池可以自動重連清除這些壞連線呢?在網上搜了半...

使用Proxool連線池

jdbc mysql 127.0.0.1 3306 student com.mysql.jdbc.driver 10select current date proxool.xml這個檔案是用來設定別名的。其中標籤就是別名的設定段。alias是別名 driver url是驅動的url,就是連線的url...

Proxool連線池設定

proxool連線池是sourceforge下的乙個開源專案,這個專案提供乙個健壯 易用的連線池,最為關鍵的是這個連線池提供監控的功能,方便易用,便於發現連線洩漏的情況。開源專案位址是 配置連線池比較的簡單 2 配置資料來源 在web info下建立檔案 proxool.xml,檔案內容如下 dev...