Hi,
Thanks for the reply.
Here is the code for createConnection
[Code]
protected void createConnection() throws NamingException, JMSException {
logger.debug("establish the connection...");
InitialContext iniCtx = new InitialContext(properties);
Object tmp = iniCtx.lookup("ConnectionFactory");
qcf = (QueueConnectionFactory) tmp;
stateQueue = (Queue) iniCtx.lookup("queue/StateQueue");
usageQueue = (Queue) iniCtx.lookup("queue/UsageQueue");
errorQueue = (Queue) iniCtx.lookup("queue/ErrorQueue");
queueConnection = qcf.createQueueConnection();
queueConnection.setExceptionListener(exListener);
queueConnection.start();
}
[/Code]
Here is the code for stopConnection
[Code]
protected void stopConnection() {
try {
if (queueConnection != null) {
queueConnection.setExceptionListener(null);
queueConnection.stop();
queueConnection.close();
}
} catch (Exception ex) {
logger.error("Error when try to stop Connection = " + ex.getMessage());
}
if (queueConnection != null)
queueConnection = null;
}
[/Code]
I have recaptured the TRACE, so the connection token ID is different from the previous one that I posted previously.
Here is part of the trace when I started the client, the connection token Id (15):
TRACE: 2005-08-18 09:44:23,343 [Connection] PING 1124329463343 Connection@31822120[token=ConnectionT
oken:ID:15/704e049760ee15c515267c87a72b044b rcvstate=STARTED]
TRACE: 2005-08-18 09:44:23,343 [SocketManager] Begin internalSendMessage, one-way msg=org.jboss.mq.i
l.uil2.msgs.PingMsg33431531[msgType: m_ping, msgID: 8, error: null]
TRACE: 2005-08-18 09:44:23,343 [SocketManager$WriteTask] Write msg: org.jboss.mq.il.uil2.msgs.PingMsg33431531[msgType: m_ping, msgID: 8, error: null]
TRACE: 2005-08-18 09:44:23,343 [SocketManager] End internalSendMessage, msg=org.jboss.mq.il.uil2.msg
s.PingMsg33431531[msgType: m_ping, msgID: 8, error: null]
TRACE: 2005-08-18 09:44:23,353 [SocketManager$ReadTask] Read msgType: m_pong, msgID: -2147480190
TRACE: 2005-08-18 09:44:23,353 [SocketManager$ReadTask] Read new msg: org.jboss.mq.il.uil2.msgs.Ping
Msg14780827[msgType: m_pong, msgID: -2147480190, error: null]
TRACE: 2005-08-18 09:44:23,353 [UILClientILService] Begin handleMsg, msgType: 24
TRACE: 2005-08-18 09:44:23,353 [Connection] PONG serverTime=1124329463353 Connection@31822120[token=
ConnectionToken:ID:15/704e049760ee15c515267c87a72b044b rcvstate=STARTED]
Here is the trace when I stoped the server, and client was able to detect the connection failure:
INFO : 2005-08-18 09:45:13,465 [JMSManager$ExceptionListenerImpl] JMS provider failure detected: Exiting on IOE; - nested throwable: (java.net.SocketException: Connection reset)
DEBUG: 2005-08-18 09:45:13,465 [JMSManager$ExceptionListenerImpl] Trying to reconnect to JMS provider
TRACE: 2005-08-18 09:45:23,349 [Connection] PING 1124329523349 Connection@31822120[token=ConnectionToken:ID:15/704e049760ee15c515267c87a72b044b rcvstate=STARTED]
TRACE: 2005-08-18 09:45:23,359 [Connection] Notified of failure reason=Connection Failed Connection@31822120[token=ConnectionToken:ID:15/704e049760ee15c515267c87a72b044b rcvstate=STARTED]
java.io.IOException: Client is not connected
at org.jboss.mq.il.uil2.SocketManager.internalSendMessage(SocketManager.java:233)
at org.jboss.mq.il.uil2.SocketManager.sendReply(SocketManager.java:219)
at org.jboss.mq.il.uil2.UILServerIL.ping(UILServerIL.java:462)
at org.jboss.mq.Connection.pingServer(Connection.java:927)
at org.jboss.mq.Connection$PingTask.run(Connection.java:1381)
at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(ClockDaemon.java:364)
at java.lang.Thread.run(Unknown Source)
TRACE: 2005-08-18 09:45:23,470 [Connection] Stopping connection Connection@31822120[token=ConnectionToken:ID:15/704e049760ee15c515267c87a72b044b rcvstate=STOPPED]
ERROR: 2005-08-18 09:45:23,480 [JMSManager] Error when try to stop Connection = Cannot disable the connection with the JMS server; - nested throwable: (java.io.IOException: Client is not connected)
DEBUG: 2005-08-18 09:45:23,500 [JMSManager] establish the connection...
DEBUG: 2005-08-18 09:45:24,481 [NamingContext] Failed to connect to 192.168.7.51:1099
javax.naming.CommunicationException: Failed to connect to server 192.168.7.51:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server 192.168.7.51:1099 [Root exception is java.net.ConnectException: Connection refused: connect]]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:215)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1227)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:527)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:520)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.streetspace.webstation.client.JMSManager.createConnection(JMSManager.java:85)
at com.streetspace.webstation.client.JMSManager$ExceptionListenerImpl.connectThread(JMSManag
er.java:216)
at com.streetspace.webstation.client.JMSManager$ExceptionListenerImpl.onException(JMSManager
.java:191)
at org.jboss.mq.Connection.asynchFailure(Connection.java:446)
at org.jboss.mq.il.uil2.UILClientILService.asynchFailure(UILClientILService.java:145)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleStop(SocketManager.java:406)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:338)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server 192.168.7.51:1099 [
Root exception is java.net.ConnectException: Connection refused: connect]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:189)
... 12 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:69)
at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:62)
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:185)
... 12 more
ERROR: 2005-08-18 09:45:29,769 [JMSManager$ExceptionListenerImpl] Reconnect failed: JMS provider failure detected Receive timed out
Here is the trace when I started back the server and client tried to reconnect back to the JMS provider. A new connection with connection token Id (2) started:
DEBUG: 2005-08-18 09:47:36,871 [JMSManager$ExceptionListenerImpl] Trying to reconnect to JMS provider
DEBUG: 2005-08-18 09:47:46,876 [JMSManager] establish the connection...
DEBUG: 2005-08-18 09:47:46,906 [SpyConnectionFactoryObjectFactory] Extracting SpyConnectionFactory from reference
DEBUG: 2005-08-18 09:47:46,926 [SpyConnectionFactoryObjectFactory] The GenericConnectionFactory is:
GenericConnectionFactory[server=org.jboss.mq.il.uil2.UILServerIL@32784a connectionProperties={UIL_ADDRESS_KEY=192.168.7.51, UIL_CHUNKSIZE_KEY=1000000, UIL_TCPNODELAY_KEY=yes, ClientILService=org.jboss
.mq.il.uil2.UILClientILService, UIL_PORT_KEY=8093, UIL_BUFFERSIZE_KEY=2048, PingPeriod=60000}]
DEBUG: 2005-08-18 09:47:46,936 [SpyDestinationObjectFactory] SpyDestinationObjectFactory->getObjectInstance()
DEBUG: 2005-08-18 09:47:46,956 [SpyDestinationObjectFactory] SpyDestinationObjectFactory->getObjectInstance()
DEBUG: 2005-08-18 09:47:46,966 [SpyDestinationObjectFactory] SpyDestinationObjectFactory->getObjectInstance()
TRACE: 2005-08-18 09:47:46,976 [Connection] Connection Initializing userName=null Connection@1049443[clientID=null rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:46,976 [Connection] Getting the serverIL Connection@1049443[clientID=null rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:46,976 [Connection] serverIL=org.jboss.mq.il.uil2.UILServerIL@14e8cee Connection@1049443[clientID=null rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:46,976 [Connection] Authenticating user null Connection@1049443[clientID=null rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:46,976 [UILServerIL] Connecting to : klws20-51/192.168.7.51:8093
TRACE: 2005-08-18 09:47:46,986 [UILServerIL] Connecting with addr=192.168.7.51, port=8093, localAddr=null, localPort=0, socketFactory=javax.net.DefaultSocketFactory@140c281, enableTcpNoDelay=true, bufferSize=2048, chunkSize=1000000
TRACE: 2005-08-18 09:47:46,986 [UILServerIL] Begin connect loop, maxRetries=10, delay=0
TRACE: 2005-08-18 09:47:46,996 [SocketManager] start called
java.lang.Exception: Start stack trace
at org.jboss.mq.il.uil2.SocketManager.start(SocketManager.java:96)
at org.jboss.mq.il.uil2.UILServerIL.createConnection(UILServerIL.java:666)
at org.jboss.mq.il.uil2.UILServerIL.getSocketMgr(UILServerIL.java:532)
at org.jboss.mq.il.uil2.UILServerIL.authenticate(UILServerIL.java:334)
at org.jboss.mq.Connection.authenticate(Connection.java:1160)
at org.jboss.mq.Connection.(Connection.java:255)
at org.jboss.mq.Connection.(Connection.java:332)
at org.jboss.mq.SpyConnection.(SpyConnection.java:66)
at org.jboss.mq.SpyConnectionFactory.createConnection(SpyConnectionFactory.java:87)
at org.jboss.mq.SpyConnectionFactory.createQueueConnection(SpyConnectionFactory.java:124)
at com.streetspace.webstation.client.JMSManager.createConnection(JMSManager.java:90)
at com.streetspace.webstation.client.JMSManager$ExceptionListenerImpl.connectThread(JMSManager.java:216)
at com.streetspace.webstation.client.JMSManager$ExceptionListenerImpl.onException(JMSManager.java:191)
at org.jboss.mq.Connection.asynchFailure(Connection.java:446)
at org.jboss.mq.il.uil2.UILClientILService.asynchFailure(UILClientILService.java:145)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleStop(SocketManager.java:406)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:338)
at java.lang.Thread.run(Unknown Source)
TRACE: 2005-08-18 09:47:47,006 [SocketManager] Begin internalSendMessage, round-trip msg=org.jboss.m
q.il.uil2.msgs.CheckUserMsg12376621[msgType: m_authenticate, msgID: 10, error: null]
DEBUG: 2005-08-18 09:47:47,016 [SocketManager$WriteTask] Begin WriteTask.run
DEBUG: 2005-08-18 09:47:47,016 [SocketManager$ReadTask] Begin ReadTask.run
DEBUG: 2005-08-18 09:47:47,016 [SocketManager$WriteTask] Created ObjectOutputStream
TRACE: 2005-08-18 09:47:47,026 [SocketManager$WriteTask] Write msg: org.jboss.mq.il.uil2.msgs.CheckU
serMsg12376621[msgType: m_authenticate, msgID: 10, error: null]
DEBUG: 2005-08-18 09:47:47,026 [SocketManager$ReadTask] Created ObjectInputStream
TRACE: 2005-08-18 09:47:47,026 [SocketManager$ReadTask] Read msgType: m_authenticate, msgID: 10
TRACE: 2005-08-18 09:47:47,036 [SocketManager$ReadTask] Found replyMap msg: org.jboss.mq.il.uil2.msg
s.CheckUserMsg12376621[msgType: m_authenticate, msgID: 10, error: null]
TRACE: 2005-08-18 09:47:47,036 [SocketManager$ReadTask] Read msg reply: org.jboss.mq.il.uil2.msgs.Ch
eckUserMsg12376621[msgType: m_authenticate, msgID: 10, error: null]
TRACE: 2005-08-18 09:47:47,036 [SocketManager] End internalSendMessage, msg=org.jboss.mq.il.uil2.msg
s.CheckUserMsg12376621[msgType: m_authenticate, msgID: 10, error: null]
TRACE: 2005-08-18 09:47:47,036 [Connection] Starting the client il Connection@1049443[clientID=null rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:47,046 [GenericConnectionFactory] Handing out ClientIL: org.jboss.mq.il.uil2.UILClientILService
DEBUG: 2005-08-18 09:47:47,046 [UILClientILService] Starting
TRACE: 2005-08-18 09:47:47,056 [Connection] Using client id org.jboss.mq.il.uil2.UILClientILService@97d01f Connection@1049443[clientID=null rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:47,056 [SocketManager] Begin internalSendMessage, round-trip msg=org.jboss.m
q.il.uil2.msgs.ConnectionTokenMsg14721926[msgType: m_setSpyDistributedConnection, msgID: 11, error:
null]
TRACE: 2005-08-18 09:47:47,056 [SocketManager$WriteTask] Write msg: org.jboss.mq.il.uil2.msgs.ConnectionTokenMsg14721926[msgType: m_setSpyDistributedConnection, msgID: 11, error: null]
TRACE: 2005-08-18 09:47:47,076 [SocketManager$ReadTask] Read msgType: m_setSpyDistributedConnection, msgID: 11
TRACE: 2005-08-18 09:47:47,076 [SocketManager$ReadTask] Found replyMap msg: org.jboss.mq.il.uil2.msgs.ConnectionTokenMsg14721926[msgType: m_setSpyDistributedConnection, msgID: 11, error: null]
TRACE: 2005-08-18 09:47:47,076 [SocketManager$ReadTask] Read msg reply: org.jboss.mq.il.uil2.msgs.ConnectionTokenMsg14721926[msgType: m_setSpyDistributedConnection, msgID: 11, error: null]
TRACE: 2005-08-18 09:47:47,076 [SocketManager] End internalSendMessage, msg=org.jboss.mq.il.uil2.msg
s.ConnectionTokenMsg14721926[msgType: m_setSpyDistributedConnection, msgID: 11, error: null]
TRACE: 2005-08-18 09:47:47,076 [Connection] Creating XAResourceManager Connection@1049443[token=Conn
ectionToken:null/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:47,086 [Connection] Starting the ping thread Connection@1049443[token=ConnectionToken:null/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:47,086 [Connection] Connection establishment successful Connection@1049443[token=ConnectionToken:null/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:47,086 [Connection] Checking clientID=null Connection@1049443[token=ConnectionToken:null/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:47,096 [Connection] Ask for an id Connection@1049443[token=ConnectionToken:null/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:47,096 [SocketManager] Begin internalSendMessage, round-trip msg=org.jboss.m
q.il.uil2.msgs.GetIDMsg23668144[msgType: m_getID, msgID: 12, error: null]
TRACE: 2005-08-18 09:47:47,096 [SocketManager$WriteTask] Write msg: org.jboss.mq.il.uil2.msgs.GetIDMsg23668144[msgType: m_getID, msgID: 12, error: null]
TRACE: 2005-08-18 09:47:47,106 [SocketManager$ReadTask] Read msgType: m_getID, msgID: 12
TRACE: 2005-08-18 09:47:47,106 [SocketManager$ReadTask] Found replyMap msg: org.jboss.mq.il.uil2.msg
s.GetIDMsg23668144[msgType: m_getID, msgID: 12, error: null]
TRACE: 2005-08-18 09:47:47,106 [SocketManager$ReadTask] Read msg reply: org.jboss.mq.il.uil2.msgs.GetIDMsg23668144[msgType: m_getID, msgID: 12, error: null]
TRACE: 2005-08-18 09:47:47,106 [SocketManager] End internalSendMessage, msg=org.jboss.mq.il.uil2.msg
s.GetIDMsg23668144[msgType: m_getID, msgID: 12, error: null]
TRACE: 2005-08-18 09:47:47,116 [Connection] ClientID established Connection@1049443[token=ConnectionToken:ID:2/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STOPPED]
TRACE: 2005-08-18 09:47:47,116 [Connection] Starting connection Connection@1049443[token=ConnectionToken:ID:2/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STARTED]
TRACE: 2005-08-18 09:47:47,116 [SocketManager] Begin internalSendMessage, round-trip msg=org.jboss.m
q.il.uil2.msgs.EnableConnectionMsg2719739[msgType: m_setEnabled, msgID: 13, error: null]
TRACE: 2005-08-18 09:47:47,126 [SocketManager$WriteTask] Write msg: org.jboss.mq.il.uil2.msgs.Enable
ConnectionMsg2719739[msgType: m_setEnabled, msgID: 13, error: null]
TRACE: 2005-08-18 09:47:47,126 [SocketManager$ReadTask] Read msgType: m_setEnabled, msgID: 13
TRACE: 2005-08-18 09:47:47,126 [SocketManager$ReadTask] Found replyMap msg: org.jboss.mq.il.uil2.msg
s.EnableConnectionMsg2719739[msgType: m_setEnabled, msgID: 13, error: null]
TRACE: 2005-08-18 09:47:47,126 [SocketManager$ReadTask] Read msg reply: org.jboss.mq.il.uil2.msgs.EnableConnectionMsg2719739[msgType: m_setEnabled, msgID: 13, error: null]
TRACE: 2005-08-18 09:47:47,126 [SocketManager] End internalSendMessage, msg=org.jboss.mq.il.uil2.msg
s.EnableConnectionMsg2719739[msgType: m_setEnabled, msgID: 13, error: null]
DEBUG: 2005-08-18 09:47:47,136 [JMSManager$ExceptionListenerImpl] Successfully reconnect to JMS
Here is the trace I got instantly after successfully reconnect to JMS:
TRACE: 2005-08-18 09:47:47,136 [Connection] Notified of failure reason=Connection Failed Connection@31822120[token=ConnectionToken:ID:15/704e049760ee15c515267c87a72b044b rcvstate=STOPPED]
java.io.IOException: ping timeout.
at org.jboss.mq.Connection$PingTask.run(Connection.java:1377)
at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(ClockDaemon.java:364)
at java.lang.Thread.run(Unknown Source)
WARN : 2005-08-18 09:47:47,136 [Connection] Connection failure:
org.jboss.mq.SpyJMSException: Connection Failed; - nested throwable: (java.io.IOException: ping time
out.)
at org.jboss.mq.Connection.asynchFailure(Connection.java:436)
at org.jboss.mq.Connection$PingTask.run(Connection.java:1385)
at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(ClockDaemon.java:364)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: ping timeout.
at org.jboss.mq.Connection$PingTask.run(Connection.java:1377)
... 2 more
TRACE: 2005-08-18 09:47:47,146 [SocketManager$WriteTask] WriteTask was interrupted
java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at EDU.oswego.cs.dl.util.concurrent.LinkedQueue.take(LinkedQueue.java:122)
at org.jboss.mq.il.uil2.SocketManager$WriteTask.run(SocketManager.java:485)
at java.lang.Thread.run(Unknown Source)
DEBUG: 2005-08-18 09:47:47,146 [SocketManager$ReadTask] End ReadTask.run
DEBUG: 2005-08-18 09:47:47,146 [SocketManager$WriteTask] End WriteTask.run
TRACE: 2005-08-18 09:47:47,146 [Connection] PING 1124329667146 Connection@1049443[token=ConnectionToken:ID:2/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STARTED]
TRACE: 2005-08-18 09:47:47,156 [SocketManager] Begin internalSendMessage, one-way msg=org.jboss.mq.i
l.uil2.msgs.PingMsg9523050[msgType: m_ping, msgID: 14, error: null]
TRACE: 2005-08-18 09:47:47,156 [SocketManager] End internalSendMessage, msg=org.jboss.mq.il.uil2.msg
s.PingMsg9523050[msgType: m_ping, msgID: 14, error: null]
TRACE: 2005-08-18 09:47:47,156 [SocketManager$WriteTask] Write msg: org.jboss.mq.il.uil2.msgs.PingMs
g9523050[msgType: m_ping, msgID: 14, error: null]
TRACE: 2005-08-18 09:47:47,156 [SocketManager$ReadTask] Read msgType: m_pong, msgID: -2147483642
TRACE: 2005-08-18 09:47:47,156 [SocketManager$ReadTask] Read new msg: org.jboss.mq.il.uil2.msgs.Ping
Msg32820206[msgType: m_pong, msgID: -2147483642, error: null]
TRACE: 2005-08-18 09:47:47,166 [UILClientILService] Begin handleMsg, msgType: 24
TRACE: 2005-08-18 09:47:47,166 [Connection] PONG serverTime=1124329667156 Connection@1049443[token=ConnectionToken:ID:2/ab48c86f41f1f3ab8b7be5243a1eeb29 rcvstate=STARTED]
Any idea why the client receive notification on connection failure for Connection Token Id 15?
How to resolve this problem?
Please let me know if the information that I provided is insufficient.
Please help. Thanks