問題描述:
  在 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>

參考來源:
  來源一
  來源二

arrow
arrow
    全站熱搜

    大笨鳥 發表在 痞客邦 留言(0) 人氣()