這里詳細(xì)描述問題,我加了try catch 后,這里會錯誤,是不是因為數(shù)據(jù)庫斷開了還調(diào)用回調(diào)函數(shù):setHeartbeatChecker呢,是官方這個組件該加try catch 呢,還是底層內(nèi)部在數(shù)據(jù)庫斷開后,不應(yīng)再調(diào)用這個回調(diào)呢?
使用的是最新版本workerman5.1,webman2.1
心跳檢測是定時給數(shù)據(jù)庫發(fā)一個select 1請求,如果沒異常則代表連接沒斷開。如果有異常例如 Mysql server gone away,連接池會檢測到這個異常并輸出異常日志,然后銷毀這個連接對象,下次請求就不會再使用這個mysql連接了。 所以不要在心跳里加try catch,那樣會導(dǎo)致連接池?zé)o法檢測到異常,這個異常連接會一直存在。
好的,謝謝