我在Oracle 11g,Weblogic 10.3.4上运行JSP。 我有2个托pipe服务器和一个Oraclepipe理服务器安装。
我遇到一个错误间歇地2pipe理服务器和pipe理服务器的日志文件将显示java.net.SocketException:软件导致连接中止:套接字写入错误 。 应用程序可以运行2天而不显示此错误,或者可以在一天中显示几次。 服务器负载每天都是类似的。
遇到此错误时,服务器将停止接受连接,并且将无法访问应用程序。 即使我尝试通过本地主机访问应用程序,我也无法访问JSP页面,并显示503 http状态,但是随后可以访问静态HTML页面。 我将无法访问Oracle 11g Weblogicpipe理控制台页面。 当我看看pipe理服务器日志时,它显示了pipe理服务器与pipe理服务器断开连接,反之亦然。
神奇的是,应用程序能够自行恢复,应用程序可以再次访问,或者我需要重新启动服务器,因为重新启动应用程序的服务不起作用。
应用程序连接到的FTP连接也closures。
我能ping通telnet到服务器端口。 事件日志似乎没有留下任何信息。 我们运行wireshark来查看数据包stream量,似乎应用程序端口正在向负载均衡器发送RST,ACK数据包。
任何forms的帮助将不胜感激。 如果您需要更多信息,请随时询问我。
A-000000> <[Error] GetPageContentTag:pageContext刷新错误,doEndTagexception{java.net.SocketException:软件引起的连接中止:套接字写入错误}>
这个问题在StackOverflow 这里回答。
基本上它表示一个networking问题。
在服务器端有一些创build错误的套接字通信,它可能会间歇性地performance出来,因为它应该不时地被调用,但是我们不要假设任何东西并且排除故障。
从Weblogic中删除所有的自定义代码,看看问题是否还存在,如果不存在,那么你不需要任何Weblogic Service Pack。 下一步是收集所有自定义代码,放入Eclipse IDE中,在可疑位置放置一些断点(search创build套接字的任何代码片段或调用可能会这样做的API),并configuration受pipe服务器的JVM参数(环境>服务器> YourManagedServer>'远程启动'选项卡):-Xdebug -Xrunjdwp:transport = dt_socket,address = 1044,server = y,suspend = n
现在,启动您的Weblogic AdminServer并等到问题出现,然后在Eclipse中打开DEBUG接口。 快乐debugging:)
更多细节在这里: http : //www.eclipsezone.com/eclipse/forums/t53459.html
*显然,在PROD环境中你没有这样做(只有在工作时间之后的周末才可以玩),所以要小心。