DataAccessResourceFailureException解決辦法

報錯信息如下:

org.springframework.dao.DataAccessResourceFailureException:
### Error querying database.		cause: connection was broken, session has been closed
### The error may exist in ***/***/***/file/mapper/FileExchangeMapper.xml
### The error may involve ***.***.***.file.mapper.FileExchangeMapper.qyeryByKey-Inline
### The error occurred while setting paramters
### SQL: select * from task_file where id = ?
### Cause : connection was broken, session has been closed
; SQL []; connection was broken ,session has been closed;
...
...

這個錯誤是在查詢數據庫的過程中出錯的,但是並不是啓動報錯的,而是在運行了一段時間之後報錯。
更特別的是,如果服務和數據庫在同一個IP網段,是沒有問題的;當服務和數據庫不在同一個網段,運行一段時間之後報這個錯誤。
使用的數據庫爲神通數據庫,並不是常用的MySQL、Oracle、SqlServer等。
異常名稱是數據庫連接方面報錯了。
查了一些資料,在MySQL中出現這種錯誤可以再請求連接中追加參數屬性值,autoReconnect=true
讓連接池在失去連接後自動重新獲取連接。
例如:

url: jdbc:mysql://127.0.0.1/dbname?characterEncoding=utf-8&autoReconnect=true

至於神通數據庫中如何解決,MySQL的解決方式在測試中,目前還不清楚在神通數據庫中是否適用,還在進一步測試中。如果後期有什麼解決方式,再來更新此博客。
如果各路大佬有解決方法,歡迎評論留言,大家一起交流學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章