-
-
2. Re: No pong received warning
gmeroz Jan 27, 2008 10:47 AM (in response to gmeroz)can you give the link for that?
-
3. Re: No pong received warning
dgusoft Jan 28, 2008 10:26 AM (in response to gmeroz)Hi!
FAQ is found under:
http://wiki.jboss.org/wiki/Wiki.jsp?page=IGetIOExceptionPingTimeoutHowDoIFixIt
We have similar Exceptions here with JBoss 4.2.1 GA. At the moment our oracle database isn't available for about an hour each night. We have no client using JMS. All happens on the server side.
The following exceptions can be found in the jboss.log:
01:52:43,313 WARN [Connection] Connection failure, use javax.jms.Connection.setExceptionListener() to handle this error and reconnect
org.jboss.mq.SpyJMSException: No pong received; - nested throwable: (java.io.IOException: ping timeout.)
at org.jboss.mq.Connection$PingTask.run(Connection.java:1313)
at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(ClockDaemon.java:364)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: ping timeout.
... 3 more
...
01:52:43,322 WARN [Connection] Connection failure, use javax.jms.Connection.setExceptionListener() to handle this error and reconnect
org.jboss.mq.SpyJMSException: Exiting on IOE; - nested throwable: (java.net.SocketTimeoutException: Read timed out)
at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:72)
at org.jboss.mq.Connection.asynchFailure(Connection.java:423)
at org.jboss.mq.il.uil2.UILClientILService.asynchFailure(UILClientILService.java:174)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleStop(SocketManager.java:439)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:371)
at java.lang.Thread.run(Thread.java:595)
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:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:79)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2196)
at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2376)
at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2443)
at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2515)
at java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2664)
at java.io.ObjectInputStream.readByte(ObjectInputStream.java:875)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:316)
... 1 more
...
01:53:42,485 WARN [Connection] Connection failure, use javax.jms.Connection.setExceptionListener() to handle this error and reconnect
org.jboss.mq.SpyJMSException: Cannot ping the JMS server; - nested throwable: (java.io.IOException: Client is not connected)
at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:72)
at org.jboss.mq.SpyJMSException.rethrowAsJMSException(SpyJMSException.java:57)
at org.jboss.mq.Connection.pingServer(Connection.java:848)
at org.jboss.mq.Connection$PingTask.run(Connection.java:1317)
at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(ClockDaemon.java:364)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: Client is not connected
at org.jboss.mq.il.uil2.SocketManager.internalSendMessage(SocketManager.java:264)
at org.jboss.mq.il.uil2.SocketManager.sendReply(SocketManager.java:238)
at org.jboss.mq.il.uil2.UILServerIL.ping(UILServerIL.java:345)
at org.jboss.mq.Connection.pingServer(Connection.java:844)
... 3 more
...
08:07:11,753 WARN [Connection] Connection failure, use javax.jms.Connection.setExceptionListener() to handle this error and reconnect
org.jboss.mq.SpyJMSException: No pong received; - nested throwable: (java.io.IOException: ping timeout.)
at org.jboss.mq.Connection$PingTask.run(Connection.java:1313)
at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(ClockDaemon.java:364)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: ping timeout.
... 3 more
Even though the database is back online for a couple of hours the exceptions only disappear when jboss is restarted.
The FAQ only says :
I'm inside the application server, how do I install the exception listener?
* You don't need to for an MDB, JBoss does it for you.
This doesn't seem to be true in every case.
Any hints?
Thanks in advance -
4. Re: No pong received warning
adrian.brock Feb 8, 2008 11:43 AM (in response to gmeroz)"dgusoft" wrote:
The FAQ only says :
It says more than that. It doesn't log the shown warning for MDBs or
the jms resource adapter, you get a different warning from their installed
exception listeners.
If it says there is no ExceptionListener installed then that is the case.
There is no WARNing if there is an exception listener installed (unless
the exception listener is recursing).synchronized (elLock) { ExceptionListener el = exceptionListener; if (el != null && elThread == null) { try { Runnable run = new ExceptionListenerRunnable(el, excep); elThread = new Thread(getThreadGroup(), run, "ExceptionListener " + this); elThread.setDaemon(false); elThread.start(); } catch (Throwable t1) { log.warn("Connection failure: ", excep); log.warn("Unable to start exception listener thread: ", t1); } } else if (elThread != null) log.warn("Connection failure, already in the exception listener", excep); else log.warn("Connection failure, use javax.jms.Connection.setExceptionListener() to handle this error and reconnect", excep); }
Any hints?
Thanks in advance
Read the bottom of of the FAQ on how to locate where the broken connection
is opened.