[mule-user] Connector TCP Broken Pipe in every request of MuleClient

0 views
Skip to first unread message

Hugo Marcelino

unread,
Mar 25, 2009, 3:38:40 PM3/25/09
to us...@mule.codehaus.org
Hello everyone!

I'm currently using mule 2.1.2 in a project, and i'm getting an error message (java.net.SocketException : Broken Pipe) , and i can't figure out how to resolve.

My mule server configuration makes available a remote dispatcher agent by tcp, using the following configuration:

<client:remote-dispatcher-agent>
<client:remote-endpoint address="tcp://localhost:60504" synchronous="true"/>
</client:remote-dispatcher-agent>

Now, my mule client is using this information and with the code posted bellow he sends an instance of an HashMap in the payload of the message.

MuleClient muleClient = new MuleClient();
final RemoteDispatcher dispatcher = muleClient.getRemoteDispatcher("tcp://127.0.0.1:60504");
dispatcher.dispatchRemote("vm://sigre-workflow-report", getMap(), null);

I'm using "dispatcher.dispatchRemote" because i don't need the answer, i just want to notify the server that a report was requested. (performance issues), ant let the application follow her natural flow...

Ok the report is build, but at the beginning of the log i keep getting an error:

2009-03-25 19:23:38,838 [sigre_report] ERROR [connector.tcp.0.receiver.5] DefaultExceptionStrategy.logException(395) | Caught exception in Exception Strategy: Broken pipe
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
.....
at java.io.DataOutputStream.flush(DataOutputStream.java:106)
at org.mule.transport.tcp.protocols.LengthProtocol.writeByteArray(LengthProtocol.java:96)
at org.mule.transport.tcp.protocols.AbstractByteProtocol.write(AbstractByteProtocol.java:93)
at org.mule.transport.tcp.protocols.AbstractByteProtocol.write(AbstractByteProtocol.java:79)
at org.mule.transport.tcp.protocols.SafeProtocol.write(SafeProtocol.java:56)
at org.mule.transport.tcp.TcpMessageReceiver$TcpWorker.handleResults(TcpMessageReceiver.java:405)
at org.mule.transport.AbstractReceiverWorker.doRun(AbstractReceiverWorker.java:132)
at org.mule.transport.AbstractReceiverResourceWorker.doRun(AbstractReceiverResourceWorker.java:51)
at org.mule.transport.AbstractReceiverWorker.run(AbstractReceiverWorker.java:62)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)

Could give me some hints how to resolve this issue ?

Thank you in advance

Best Regards

Hugo Marcelino

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


dhenton9000

unread,
Mar 30, 2009, 9:44:33 AM3/30/09
to us...@mule.codehaus.org

the broken pipe is probably an issue with the protocol that you are using in
mule (Length protocol). In my exeperience every tcp use in mule requires a
custom protocol (even if its just a tweak of one of the OOTB protocols). I'm
thinking that you probably need to copy the length protocol into your own
code, attach it as a protocol, debug it, and see if you can catch the
location of the error. My money says this is just noop error, since you
don't wait around for the response, and that you can tweak the protocol to
handle the error better.

--
View this message in context: http://www.nabble.com/Connector-TCP-Broken-Pipe-in-every-request-of-MuleClient-tp22709666p22783117.html
Sent from the Mule - User mailing list archive at Nabble.com.

Reply all
Reply to author
Forward
0 new messages