只是記錄一下,沒有徹底解決這個問題。
出現這個問題的場景是這樣的:使用Druid的DataSource然后通用自己定制的代碼重新在Spring中注冊了一下,然后訪問數據庫的DAO就出現了datasource already closed.
找到這樣的一篇網文(https://blog.csdn.net/qq_36704549/article/details/122100675),我覺得可能與我的問題相關,文中是這樣解釋的:
你可能使用了異步線程去訪問數據庫,異步線程是不由spring管理也就是說 spring可以在異步線程未執行完就會進行容器關閉 當異步線程執行到獲取數據庫的時候就會報錯
怎么才能徹底消除這個錯誤沒有找到完美的解決方法,只要DataSource不進行重新注冊,或者重新注冊后再刷新相關的DAO引用的實例可暫時不出現這個問題了