SpringBoot項目連接oracle報 connection reset by peer解決辦法


SpringBoot項目連接oracle報 connection reset by peer解決辦法

Springboot開發好的項目在linux環境部署連接數據庫時報如下錯誤:

errorCode 17002,state 08006
java.sql.SQLRecoverableException: IO Error: Connection reset by peer,Authentication lapse 74909 ms.

1.雖然啟動報錯,但只是連接數據庫比較慢,功能一切正常。

2.查閱資料發現由於tomcat啟動時產生隨機數導致jvm阻塞,可能是多次啟動tomcat導致熵池被用空造成阻塞。

3.使用telnet命令查詢部署的機器和數據庫的端口也是通的。

在apache-tomcat官方文檔:如何讓tomcat啟動更快里面提到了一些啟動時的優化項,其中一項是關於隨機數生成時,采用“熵源”(entropy source)的策略。他提到tomcat7的session id的生成主要是通過java.security.SecureRandom生成隨機數來實現的,隨機數算法使用的是“SHA1PRANG”。

解決辦法:

啟動參數java -jar 后加上下面的部分即可,增加后可以加快隨機數產生過程。

-Djava.security.egd=file:/dev/./dev/urandom

參考:

java.security.SecureRandom源碼分析

springboot應用連接oracle數據庫報錯connection reset;errorcode 17002 state 08006


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM