Socket Timeout wit JBoss Messaging 1.0.1 SP4
oleznew Mar 6, 2007 10:12 AMHi,
I am having a client that connects to a reliable queue as a receiver.
It consumes messages correctly, but when no messages arrive, it stops processing after about 60 seconds with the following error:
[07/03/06 15:27:15.348] DEBUG: SocketClientInvoker[4d41e2, socket://10.196.110.62:7776] got exception java.net.SocketTimeoutException: Read timed out [07/03/06 15:27:15.349] DEBUG: org.jboss.jms.client.remoting.ClientSocketWrapper@1f42731 closing [07/03/06 15:27:15.352] ERROR: Got marshalling exception, exiting java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:183) at java.io.BufferedInputStream.read(BufferedInputStream.java:201) at java.io.FilterInputStream.read(FilterInputStream.java:66) at org.jboss.serial.io.JBossObjectInputStream.read(JBossObjectInputStream.java:193) at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.readVersion(MicroSocketClientInvoker.java:902) at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:552) at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122) at org.jboss.remoting.ConnectionValidator.doCheckConnection(ConnectionValidator.java:126) at org.jboss.remoting.ConnectionValidator.run(ConnectionValidator.java:195) at java.util.TimerThread.mainLoop(Timer.java:432) at java.util.TimerThread.run(Timer.java:382) [07/03/06 15:27:15.419] DEBUG: ConnectionValidator failed to ping via SocketClientInvoker[4d41e2, socket://10.196.110.62:7776] java.rmi.MarshalException: Socket timed out. Waited 1000 milliseconds for response while calling on InvokerLocator [socket://10.196.110.62:7776/?clientSock etClass=org.jboss.jms.client.remoting.ClientSocketWrapper&dataType=jms&marshaller=org.jboss.jms.server.remoting.JMSWireFormat&serializationtype=jboss&socket .check_connection=false&unmarshaller=org.jboss.jms.server.remoting.JMSWireFormat]; nested exception is: java.net.SocketTimeoutException: Read timed out at org.jboss.remoting.transport.socket.SocketClientInvoker.handleException(SocketClientInvoker.java:117) at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:613) at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122) at org.jboss.remoting.ConnectionValidator.doCheckConnection(ConnectionValidator.java:126) at org.jboss.remoting.ConnectionValidator.run(ConnectionValidator.java:195) at java.util.TimerThread.mainLoop(Timer.java:432) at java.util.TimerThread.run(Timer.java:382) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:183) at java.io.BufferedInputStream.read(BufferedInputStream.java:201) at java.io.FilterInputStream.read(FilterInputStream.java:66) at org.jboss.serial.io.JBossObjectInputStream.read(JBossObjectInputStream.java:193) at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.readVersion(MicroSocketClientInvoker.java:902) at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:552) ... 5 more [07/03/06 15:27:15.421] DEBUG: ConnectionValidator[SocketClientInvoker[4d41e2, socket://10.196.110.62:7776], pingPeriod=2000 ms]'s connections is invalid [07/03/06 15:27:15.427] DEBUG: removed SocketClientInvoker[4d41e2, socket://10.196.110.62:7776] from registry [07/03/06 15:27:15.427] DEBUG: SocketClientInvoker[4d41e2, socket://10.196.110.62:7776] disconnecting ... [07/03/06 15:27:15.429] DEBUG: ConnectionValidator[SocketClientInvoker[4d41e2, socket://10.196.110.62:7776], pingPeriod=2000 ms] stopped, returning true [07/03/06 15:27:15.514] ERROR: Caught exception from connection java.lang.Exception: Could not connect to server! at org.jboss.remoting.ConnectionValidator.run(ConnectionValidator.java:201) at java.util.TimerThread.mainLoop(Timer.java:432) at java.util.TimerThread.run(Timer.java:382)
What is the reason for that? How can it be fixed?
Many Thanks,
Leznew