klklk jhjhjhj
2004-11-02 09:56:08 UTC
Hi!
I have some clients creating temporary queues, then they send a JMS message to a Topic and another application reads the message and answers to the appropriate temporary queue. When one of the client dies and the application tries to answer to the client's temporary queue I can see the following stacktrace in the weblogic log:
class weblogic.jms.common.JMSException: java.rmi.MarshalException: IOException
while sending; nested exception is:
java.io.EOFException: Attempt to send message on closed socket.
java.rmi.MarshalException: IOException while sending; nested exception is:
java.io.EOFException: Attempt to send message on closed socket
at weblogic.iiop.EndPointImpl.send(EndPointImpl.java:1104)
at weblogic.iiop.OutboundResponseImpl.sendThrowable(OutboundResponseImpl
java:200)
at weblogic.rmi.internal.BasicServerRef.handleThrowable(BasicServerRef.j
ava:594)
at weblogic.rmi.internal.BasicFutureResponse.sendThrowable(BasicFutureRe
sponse.java:59)
at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.jav
a:784)
at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsyncInternal(Dispatch
erImpl.java:128)
at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.j
ava:119)
at weblogic.jms.dispatcher.Request.execute(Request.java:840)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Caused by: java.io.EOFException: Attempt to send message on closed socket
at weblogic.iiop.MuxableSocketIIOP.sendMsg(MuxableSocketIIOP.java:364)
at weblogic.protocol.AsyncMessageSender.sendOutMsg(AsyncMessageSender.ja
va:76)
at weblogic.protocol.AsyncMessageSender.send(AsyncMessageSender.java:32)
at weblogic.iiop.EndPointImpl.send(EndPointImpl.java:1100)
... 9 more
How can I avoid the stacktrace being written to the log? Is there a way to check whether the temporary queue still exists before trying to write something?
Thanks,
A.
I have some clients creating temporary queues, then they send a JMS message to a Topic and another application reads the message and answers to the appropriate temporary queue. When one of the client dies and the application tries to answer to the client's temporary queue I can see the following stacktrace in the weblogic log:
class weblogic.jms.common.JMSException: java.rmi.MarshalException: IOException
while sending; nested exception is:
java.io.EOFException: Attempt to send message on closed socket.
java.rmi.MarshalException: IOException while sending; nested exception is:
java.io.EOFException: Attempt to send message on closed socket
at weblogic.iiop.EndPointImpl.send(EndPointImpl.java:1104)
at weblogic.iiop.OutboundResponseImpl.sendThrowable(OutboundResponseImpl
java:200)
at weblogic.rmi.internal.BasicServerRef.handleThrowable(BasicServerRef.j
ava:594)
at weblogic.rmi.internal.BasicFutureResponse.sendThrowable(BasicFutureRe
sponse.java:59)
at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.jav
a:784)
at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsyncInternal(Dispatch
erImpl.java:128)
at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.j
ava:119)
at weblogic.jms.dispatcher.Request.execute(Request.java:840)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Caused by: java.io.EOFException: Attempt to send message on closed socket
at weblogic.iiop.MuxableSocketIIOP.sendMsg(MuxableSocketIIOP.java:364)
at weblogic.protocol.AsyncMessageSender.sendOutMsg(AsyncMessageSender.ja
va:76)
at weblogic.protocol.AsyncMessageSender.send(AsyncMessageSender.java:32)
at weblogic.iiop.EndPointImpl.send(EndPointImpl.java:1100)
... 9 more
How can I avoid the stacktrace being written to the log? Is there a way to check whether the temporary queue still exists before trying to write something?
Thanks,
A.