The application is using a NON-Persistent Queue. After the application runs for 
2-3 days we're getting 
the following exception: org.jboss.mq.SpyJMSException: Exiting on IOE; - nested 
throwable: (java.io.EOFException)

The application has an exception listener registered and is notified of this 
exception.

It closes the queue and attempts to reconnect but after successfully recreating 
and starting the queue JBoss is reporting
the follwing exception: java.io.IOException: ping timeout. The application can 
never successfully reconnect to the queue.

All of the software is running in the same JVM. Running on Windows 2003

Not sure if we're correctly handling the error in our app and whether this is a 
defect JBossMQ.

Here are snippets from our logs:

JBoss Log

23:49:00,421 INFO  [Server] Release ID: JBoss [WonderLand] 3.2.5 (build: 
CVSTag=JBoss_3_2_5 date=200406251954)
.
.
.
01:29:42,983 WARN  [Connection] Connection failure: 
org.jboss.mq.SpyJMSException: Exiting on IOE; - nested throwable: 
(java.io.EOFException)
        at 
org.jboss.mq.Connection.asynchFailure(Ljava.lang.String;Ljava.lang.Exception;)V(Connection.java:429)
        at 
org.jboss.mq.il.uil2.UILClientILService.asynchFailure(Ljava.lang.String;Ljava.lang.Throwable;)V(UILClientILService.java:145)
        at 
org.jboss.mq.il.uil2.SocketManager$ReadTask.handleStop(Ljava.lang.String;Ljava.lang.Throwable;)V(SocketManager.java:398)
        at 
org.jboss.mq.il.uil2.SocketManager$ReadTask.run()V(SocketManager.java:332)
        at java.lang.Thread.run()V(Unknown Source)
        at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown 
Source)
Caused by: java.io.EOFException
        at java.io.ObjectInputStream$BlockDataInputStream.readByte()B(Optimized 
Method)
        at java.io.ObjectInputStream.readByte()B(Optimized Method)
        at 
org.jboss.mq.il.uil2.SocketManager$ReadTask.run()V(SocketManager.java:279)
        ... 2 more
01:29:42,983 ERROR [TlMessageChannel] TLQueueExceptionListener onException() 
org.jboss.mq.SpyJMSException: Exiting on IOE; - nested throwable: 
(java.io.EOFException)
01:29:43,014 ERROR [TlMessageChannel] stopQConnection() exception: 
org.jboss.mq.SpyJMSException: Cannot disable the connection with the JMS 
server; - nested throwable: (java.io.IOException: Client is not connected)
01:31:05,327 WARN  [Connection] Connection failure: 
org.jboss.mq.SpyJMSException: Connection Failed; - nested throwable: 
(java.io.IOException: Client is not connected)
        at 
org.jboss.mq.Connection.asynchFailure(Ljava.lang.String;Ljava.lang.Exception;)V(Connection.java:429)
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1378)
        at 
EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run()V(ClockDaemon.java:364)
        at java.lang.Thread.run()V(Unknown Source)
        at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown 
Source)
Caused by: java.io.IOException: Client is not connected
        at 
org.jboss.mq.il.uil2.SocketManager.internalSendMessage(Lorg.jboss.mq.il.uil2.msgs.BaseMsg;Z)V(Optimized
 Method)
        at 
org.jboss.mq.il.uil2.SocketManager.sendReply(Lorg.jboss.mq.il.uil2.msgs.BaseMsg;)V(Optimized
 Method)
        at 
org.jboss.mq.il.uil2.UILServerIL.ping(Lorg.jboss.mq.ConnectionToken;J)V(Optimized
 Method)
        at org.jboss.mq.Connection.pingServer(J)V(Optimized Method)
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1374)
        ... 3 more
01:32:05,342 WARN  [Connection] Connection failure: 
org.jboss.mq.SpyJMSException: Connection Failed; - nested throwable: 
(java.io.IOException: ping timeout.)
        at 
org.jboss.mq.Connection.asynchFailure(Ljava.lang.String;Ljava.lang.Exception;)V(Connection.java:429)
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1378)
        at 
EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run()V(ClockDaemon.java:364)
        at java.lang.Thread.run()V(Unknown Source)
        at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown 
Source)
Caused by: java.io.IOException: ping timeout.
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1370)
        ... 3 more
01:33:05,342 WARN  [Connection] Connection failure: 
org.jboss.mq.SpyJMSException: Connection Failed; - nested throwable: 
(java.io.IOException: ping timeout.)
        at 
org.jboss.mq.Connection.asynchFailure(Ljava.lang.String;Ljava.lang.Exception;)V(Connection.java:429)
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1378)
        at 
EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run()V(ClockDaemon.java:364)
        at java.lang.Thread.run()V(Unknown Source)
        at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown 
Source)
Caused by: java.io.IOException: ping timeout.
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1370)
        ... 3 more
01:34:05,342 WARN  [Connection] Connection failure: 
org.jboss.mq.SpyJMSException: Connection Failed; - nested throwable: 
(java.io.IOException: ping timeout.)
        at 
org.jboss.mq.Connection.asynchFailure(Ljava.lang.String;Ljava.lang.Exception;)V(Connection.java:429)
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1378)
        at 
EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run()V(ClockDaemon.java:364)
        at java.lang.Thread.run()V(Unknown Source)
        at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown 
Source)
Caused by: java.io.IOException: ping timeout.
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1370)
        ... 3 more
01:35:05,342 WARN  [Connection] Connection failure: 
org.jboss.mq.SpyJMSException: Connection Failed; - nested throwable: 
(java.io.IOException: ping timeout.)
        at 
org.jboss.mq.Connection.asynchFailure(Ljava.lang.String;Ljava.lang.Exception;)V(Connection.java:429)
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1378)
        at 
EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run()V(ClockDaemon.java:364)
        at java.lang.Thread.run()V(Unknown Source)
        at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown 
Source)
Caused by: java.io.IOException: ping timeout.
        at org.jboss.mq.Connection$PingTask.run()V(Connection.java:1370)
        ... 3 more      
        


Application Log

2004-12-21 01:29:42,983 -0600 ERROR [TlMessageChannel] - 
TLQueueExceptionListener onException() org.jboss.mq.SpyJMSException: Exiting on 
IOE; - nested throwable: (java.io.EOFException)
2004-12-21 01:29:43,014 -0600 ERROR [TlMessageChannel] - stopQConnection() 
exception: org.jboss.mq.SpyJMSException: Cannot disable the connection with the 
JMS server; - nested throwable: (java.io.IOException: Client is not connected)
2004-12-21 01:29:43,014 -0600 INFO  [TlMessageChannel] - 
TLQueueExceptionListener onException() starting TLQueue.....
2004-12-21 01:29:43,014 -0600 INFO  [TlMessageChannel] - 
TLQueueExceptionListener onException() started TLQueue 



Here is the relevant portion of code:

private void createTLQComponents() throws JMSException {
        logger.debug("createTLQComponents() creating .....");
  createQConnection();
  createQSession();
  createQSender();
        logger.debug("createTLQComponents() created");    
} 

private void createQConnection() throws JMSException {
  qConnection = 
qcf.createQueueConnection(TransactionLinkMessageServer.USER_NAME, 
                                                                                
                                                                                
        TransactionLinkMessageServer.PASSWORD); 
  qConnection.setExceptionListener(queueExceptionListener);
}

private void createQSession() throws JMSException {
  qSession = qConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
}

private void createQSender() throws JMSException {
  qSender = qSession.createSender(tlQueue);
  qSender.setTimeToLive(TransactionLinkMessageServer.NEVER_EXPIRE);
  qSender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
}

private void stopConnections() {
        logger.debug("stopping JMS connections .....");
        stopTopicConnection();
  stopQConnection(); 
        logger.debug("stopped JMS connections");            
}

private void stopQConnection() {
        logger.debug("stopping Queue connections .....");
  try {
    qSender.close();
    qSession.close();
    qConnection.close();
  } catch (JMSException e) {
        logger.error("stopQConnection() exception: " + e);  
  }
        logger.debug("stopped Queue connections");        
}


public class TLQueueExceptionListener implements ExceptionListener {
  public synchronized void onException(JMSException e) {
    logger.error("TLQueueExceptionListener onException() " + e);
    try {
      stopQConnection();
      createTLQComponents();
        logger.info("TLQueueExceptionListener onException() starting 
TLQueue.....");
      qConnection.start(); 
        logger.info("TLQueueExceptionListener onException() started TLQueue");  
      
    } catch (JMSException e1) {
      logger.error("TLQueueExceptionListener onException() " + e1);
    }
  }
 }      

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3860827#3860827

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3860827


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to