Caused by: java.net.SocketException: Connection reset


Caused by: Unable to load configuration. - Class: java.net.SocketInputStream
File: SocketInputStream.java
Method: read
Line: 210 - java/net/SocketInputStream.java:210:-1
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
    at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:967)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:435)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:479)
    ... 14 more
Caused by: Unable to load file:/F:/user/workspace/erp_parent/erp_web/target/classes/struts.xml - Class: java.net.SocketInputStream
File: SocketInputStream.java
Method: read
Line: 210 - java/net/SocketInputStream.java:210:-1
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1027)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:167)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:134)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:239)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
    ... 17 more
Caused by: Connection reset - Class: java.net.SocketInputStream
File: SocketInputStream.java
Method: read
Line: 210 - java/net/SocketInputStream.java:210:-1
    at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:119)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1021)
    ... 21 more
Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:210)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)

表現:突然間tomcat一直啟動不起來。

原因:連接ORACLE服務器,客戶端要生成隨機密鑰用於客戶端認證,JDK默認使用/dev/random,random采用阻塞方式生成隨機數,生成的速度很慢,ORACLE服務器會主動reset,並在alert.log中報錯。

解決:編輯自己的java安裝路徑,筆者路徑D:\Program Files\Java\jre\lib\security\java.security中將securerandom.source=file:/dev/random改為

1、file:/dev/urandom(urandom采用非陰塞式生成隨機數,性能很好,不會產生超時)
2、file:/dev/./urandom
3、file:/dev/…/urandom

可以輪流嘗試上面三種方式直到你tomcat啟動為止。我嘗試我換成第一種,securerandom.source=file:/dev/urandom即可啟動;


免責聲明!

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



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