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