2014-12-05 25 views
0

我们有一个设置,其中一个应用程序(协调器)将任务委托给另一个应用程序(工作人员),他们完成任务并将结果通过套接字推回。当一个应用程序尝试连接到另一个应用程序时,断开的管道异常

它工作正常,但在一台机器上,我们正在为大多数工人破坏管道错误。 一切都在同一台机器上,我们也检查了防火墙设置,它们看起来很好。

我只是想知道,如果用loopbackaddress替换机器名称或IP会有所帮助,因为loopbackaddress没有任何硬件关联?

请分享您对此的看法或者如果您有任何其他建议。

异常跟踪 -

javax.servlet.ServletException: Error building response envelope: ClientAbortException: java.net.SocketException: Broken pipe 
at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:418) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) 
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) 
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:774) 
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) 
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:896) 
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) 
at java.lang.Thread.run(Thread.java:619) 

并欣赏你的帮助

感谢

+0

什么是相关的错误信息? – fge 2014-12-05 12:33:55

+0

已编辑并在问题中添加了堆栈跟踪。谢谢 – Ouney 2014-12-05 16:22:57

+0

呃,好的。所以,这个连接已经建立起来,但是然后残酷地关闭了。太好了! – fge 2014-12-05 16:39:05

回答

1

如果您收到的水管坏了例外则是一个连接的建立,对方突然关闭了连接,你试图通过频道发送数据。在TCP级别,另一方已经发送了RST消息。之后,应用程序试图通过该套接字/通道发送数据。 试图阻止来自日志的信息,我想servlet正在通过RPC与工作人员进行通信,并且工作人员以某种方式关闭了连接。

相关问题