最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

記錄一次connection reset 錯誤的解決全過程

 更新時間:2023年04月29日 10:18:04   作者:不打拉東  
這篇文章主要介紹了記錄一次connection reset 錯誤的解決全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

前言

關(guān)于java.net.SocketException: Connection reset,是由于程序的某些異常導致套接字主動關(guān)閉,異常原因就太多,比如數(shù)據(jù)源出現(xiàn)故障,網(wǎng)絡(luò)故障等,所以這里沒有標準的答案。

本地調(diào)試正常,部署多臺,就其中一臺失敗,提示connection reset 描述也比較模糊,造成錯誤的原因比較多,我先給出我這里的解決方案,僅供嘗試,有效可以回來點個贊,無效但有其它解決可以回來評論一下供他人參考

我這里最終的解決方案是在啟動jar時 添加 -Djava.security.egd=file:/dev/./urandom 如下

?java -jar -Xms2g -Mmx2g -Djava.security.egd=file:/dev/./urandom ? /data/kuizii.jar

追其原因

tomcat在生成sessionId時底里生成隨時數(shù)的算法選用了堵塞式 /dev/random算法,當連接

jvm隨機數(shù)算法選用不當導致tomcat的SessionID生成非常慢的情況,使用了-Djava.security.egd=file:/dev/./urandom就可以避免。

排查過程

背景

我的開發(fā)環(huán)境為springboot 2.1.5 +oracle 11g+ druid ,數(shù)據(jù)庫驅(qū)動是oracle.jdbc.OracleDriver.

這一次遇到 一個很偶現(xiàn)的問題,在部署jar包到某一臺linux時總會時不時提示以下錯誤,然爾在其它開發(fā)機以及其它linux服務(wù)器均正常。

錯誤提示如下:

2020-07-27 18:09:41.673  INFO 18397 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8086 (http)
2020-07-27 18:09:41.759  INFO 18397 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-07-27 18:09:41.759  INFO 18397 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.19]
2020-07-27 18:09:42.026  INFO 18397 --- [           main] o.a.c.c.C.[.[localhost].[/scserver]      : Initializing Spring embedded WebApplicationContext
2020-07-27 18:09:42.026  INFO 18397 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 9074 ms
2020-07-27 18:09:43.811  INFO 18397 --- [           main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource
2020-07-27 18:11:16.805 ERROR 18397 --- [           main] com.alibaba.druid.pool.DruidDataSource   : init datasource error, url: jdbc:oracle:thin:@192.168.1.42:1521:orcl

java.sql.SQLRecoverableException: IO 錯誤: Connection reset
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:498) ~[ojdbc6-11.2.0.4.0-atlassian-hosted.jar!/:11.2.0.4.0]
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553) ~[ojdbc6-11.2.0.4.0-atlassian-hosted.jar!/:11.2.0.4.0]
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254) ~[ojdbc6-11.2.0.4.0-atlassian-hosted.jar!/:11.2.0.4.0]
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) ~[ojdbc6-11.2.0.4.0-atlassian-hosted.jar!/:11.2.0.4.0]
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528) ~[ojdbc6-11.2.0.4.0-atlassian-hosted.jar!/:11.2.0.4.0]
    at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156) ~[druid-1.1.23.jar!/:1.1.23]
    at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:787) ~[druid-1.1.23.jar!/:1.1.23]
    at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150) ~[druid-1.1.23.jar!/:1.1.23]
    at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:218) ~[druid-1.1.23.jar!/:1.1.23]
    at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150) ~[druid-1.1.23.jar!/:1.1.23]
    at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1646) ~[druid-1.1.23.jar!/:1.1.23]
    at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710) ~[druid-1.1.23.jar!/:1.1.23]
    at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:912) ~[druid-1.1.23.jar!/:1.1.23]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_252]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_252]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_252]

看到上面錯誤 ,肯定優(yōu)先考慮到是數(shù)據(jù)庫連接的問題,于是做了以下嘗試

  • 1.查看連接字符串是否有效 (檢查沒問題,跳過)
  • 2.調(diào)整spring.datasource.driver 將目前的oracle.jdbc.OracleDriver 切換為過時的驅(qū)動oracle.jdbc.driver.OracleDriver
  • 3.從錯誤中可以看到是 oracle.jdbc.driver.OracleDriver這個驅(qū)動報錯,那么嘗試再將spring.datasource.druid.driver-class-name設(shè)置為 oracle.jdbc.OracleDriver
  • 4.可能是druid的原因造成,去除druid依賴再嘗試,仍未解決

經(jīng)過上述嘗試后,問題依舊。百度眾多,其中這篇文章得知以下方法可以解決,嘗試之后,果真可以。

在啟動jar時 添加 -Djava.security.egd=file:/dev/./urandom 如下

?java -jar -Xms2g -Mmx2g -Djava.security.egd=file:/dev/./urandom ? /data/kuizii.jar

造成該錯誤的原因,比如數(shù)據(jù)源問題,啟動中其它錯誤也用導致提示這個錯誤,解決方案并非適用所有人。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決java連接虛擬機Hbase無反應(yīng)的問題

    解決java連接虛擬機Hbase無反應(yīng)的問題

    這篇文章主要介紹了解決java連接虛擬機Hbase無反應(yīng)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 深入理解Java main方法詳解

    深入理解Java main方法詳解

    這篇文章主要為大家介紹了Java main方法詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Java連接ftp服務(wù)器實例代碼

    Java連接ftp服務(wù)器實例代碼

    這篇文章主要介紹了Java連接ftp服務(wù)器實例代碼 的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • Java中IO的NIO通道解析

    Java中IO的NIO通道解析

    這篇文章主要介紹了Java中IO的NIO通道解析,NIO 提供了與傳統(tǒng) BIO 模型中的 Socket 和 ServerSocket 相對應(yīng)的 SocketChannel 和 ServerSocketChannel 兩種不同的套接字通道實現(xiàn),需要的朋友可以參考下
    2024-01-01
  • java使用renderer將pdf按頁轉(zhuǎn)換為圖片

    java使用renderer將pdf按頁轉(zhuǎn)換為圖片

    這篇文章主要為大家詳細介紹了java使用renderer將pdf按頁轉(zhuǎn)換為圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 使用SpringBoot請求方式和訪問靜態(tài)頁面

    使用SpringBoot請求方式和訪問靜態(tài)頁面

    SpringBoot支持多種請求方式,包括GET、RESTful、分頁列表等,常用框架如阿里fastjson、谷歌gson用于JavaBean序列化為Json,性能上Jackson最快,SpringBoot目錄結(jié)構(gòu)包括src/main/java、src/main/resources等
    2025-01-01
  • 詳解Java獲取環(huán)境變量及系統(tǒng)屬性的方法

    詳解Java獲取環(huán)境變量及系統(tǒng)屬性的方法

    這篇文章主要介紹了詳解Java獲取環(huán)境變量及系統(tǒng)屬性的方法,講解了System.getEnv()和System.getProperties()這兩個核心方法的使用,需要的朋友可以參考下
    2016-05-05
  • Java實現(xiàn)新建有返回值的線程的示例詳解

    Java實現(xiàn)新建有返回值的線程的示例詳解

    本文主要介紹了一個Java多線程的例題,題目是:使用ThreadLocal管理一號和二號線程,分別存入100元,在三號線程中使用利用一號和二號的計算結(jié)果來算出賬戶的實際金額。感興趣的可以了解一下
    2022-09-09
  • Springboot自動掃描包路徑來龍去脈示例詳解

    Springboot自動掃描包路徑來龍去脈示例詳解

    這篇文章主要介紹了Springboot自動掃描包路徑來龍去脈示例詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 記一次公司JVM堆溢出抽絲剝繭定位的過程解析

    記一次公司JVM堆溢出抽絲剝繭定位的過程解析

    這篇文章主要介紹了記一次公司JVM堆溢出抽絲剝繭定位的過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07

最新評論

洛隆县| 陆良县| 新干县| 元江| 衢州市| 威远县| 宜川县| 尖扎县| 永善县| 正阳县| 栾城县| 炎陵县| 芦山县| 蓬莱市| 灵台县| 芜湖市| 彭山县| 女性| 麻栗坡县| 海城市| 新蔡县| 台前县| 漳浦县| 嘉鱼县| 平南县| 洪湖市| 仙游县| 措美县| 祁东县| 延庆县| 河北区| 闽侯县| 阿克陶县| 布尔津县| 盐源县| 天全县| 中宁县| 宁国市| 长治县| 昆明市| 汤原县|