問題描述:
在 Tomcat 上運行 DBCP 時,在閒置一段時間都沒有資料庫連線的動作時,會不定時的出現「No operation allowed after connection closed」的錯誤訊息。
解決方式:
方法一:
在 url 屬性值的最後要加上 autoReconnect = true,不過此方法僅適用於連線時間超過八小時者。
方法二:
在 Tomcat 的 context.xml 中設定 OBCP 的 Resource Tag 上加上「validationQuery」這個屬性值。
範例如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/mysql" auth="Container"
type="javax.sql.DataSource"
maxActive="50" maxIdle="30" maxWait="10000"
username="root" password="12345"
driverClassName="com.mysql.jdbc.Driver"
validationQuery="可以執行的 SQL 指令 (例:SELECT SYSDATE FROM DUAL)"
url="jdbc:mysql://127.0.0.1:3306/student?autoReconnect=true"/>
</Context>
留言列表