forum khan [
https://community.jboss.org/people/forum.khan] created the discussion
"JBoss auto reconnect issue with Websphere MQ"
To view the discussion, visit:
https://community.jboss.org/message/745359#745359
--------------------------------------------------------------
Hi,
Am facing JBoss auto reconnect issue with websphere MQ. Please let me know if any
configuration setting needs to be done. I had raised this same question in messaging:
https://community.jboss.org/message/745338#745338
https://community.jboss.org/message/745338 thinking its a messaging issue.
Let me explain the scenario:
1. I will be sending the messages to the JMS queue via the EJB which is delivered &
processed successfully. In the mean time I will only stop the MQ server then it throws the
exception marked in Red in the Jboss console.
2. Next I will restart the MQ server. Exactly after 5 mins it display's the message
it got reconnected successfully which is marked in Green.
3. After it gets connected successfully again am able to send the messages successfully
to the queue.
4. Next I will disconnect/stopping MQ for the whole night without shutting down the
JBOSS then next day morning I will restart the MQ and send few messages. Now my JBOSS
will not able to reconnect to MQ and nor be able to process the JMS messages.
Now I like to understand the below points
1. How this is getting reconnected exactly after 5 mins, where is the configuration
setting?
2. It is observed that if i disconnect/stopping MQ for the whole night without
shutting down the JBOSS then next day morning I will restart the MQ and send few messages
then now my JBOSS will not able to reconnect to MQ and nor be able to process the JMS
messages. Here I like to understand after shutting down and restarting the MQ it used to
connect automatically. But when its closed from the whole night, next day JBOSS is not
able to identity the MQ. Is there any special configuration setting for this?
The below message is from the console.
*Console:*
20:06:59,380 WARN [HttpRouter] Received status code '302' on HTTP
mailto:org.apache.commons.httpclient.methods.PostMethod@a29bbd
org.apache.commons.httpclient.methods.PostMethod@a29bbd request to '
http://localhost:8080/someservice http://localhost:8080/someservice.
20:09:02,441 INFO [CNN_Connection_Factory] JMSCC3036:An exception has been delivered to
the connections exception listener: '
Message : com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with this
connection has occurred. An error has occurred with the WebSphere MQ JMS connection. Use
the linked exception to determine the cause of this error.
Class : class com.ibm.msg.client.jms.DetailedJMSException
Stack :
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
:
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
:
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:823)
:
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1018)
:
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1376)
:
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
:
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
:
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
:
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
:
com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.runWorkQueueItem(WorkQueueManager.java:298)
:
com.ibm.msg.client.commonservices.j2se.workqueue.WorkQueueManagerImplementation$ThreadPoolWorker.run(WorkQueueManagerImplementation.java:1220)
Caused by [1] --> Message : com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call
failed with compcode '2' ('MQCC_FAILED') reason '2009'
('MQRC_CONNECTION_BROKEN').
Class : class com.ibm.mq.MQException
Stack :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
:
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:823)
:
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1018)
:
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1376)
:
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
:
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
:
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
:
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
:
com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.runWorkQueueItem(WorkQueueManager.java:298)
:
com.ibm.msg.client.commonservices.j2se.workqueue.WorkQueueManagerImplementation$ThreadPoolWorker.run(WorkQueueManagerImplementation.java:1220)
'.
20:09:02,441 INFO [CNN_Connection_Factory] MQJCA4013:A connection to a queue manager
failed for activationSpec 'javax.jms.Queue:CNN
https://community.jboss.org/mailto:_Gateway@QM_GIS01234 _Gateway@QM_GIS01234
<3852704>'. Check the queue manager error logs for details.
20:09:17,441 INFO [CNN_Connection_Factory] MQJCA4003:A recoverable exception occurred in
the JMS layer: 'JMSCMQ0002: The method 'MQCTL' failed.'
20:09:17,441 INFO [CNN_Connection_Factory] MQJCA4003:A recoverable exception occurred in
the JMS layer: 'JMSWMQ0019: Failed to disconnect from queue manager
'QM_GIS01234' using connection mode '1' and host name
'gis01234.cloud.abc.com(1414)'.'
*20:14:21,687 INFO [CNN_Connection_Factory] MQJCA4019:ActivationSpec
'javax.jms.Queue:CNN_Gateway@QM_GIS01234<3852704>' reconnected
successfully.*
We are using JMS with EJB 3.0. The queues are being configured in JBOSS 5.0. The message
processing is done in ESB, now it looks like i have posted this message in the right
window.
The JMS configuration is done in wmq.jmsra-ds.xml
<connection-factories>
<tx-connection-factory>
<jndi-name>CNN_Connection_Factory</jndi-name>
<xa-transaction />
<rar-name>wmq.jmsra.rar</rar-name>
<connection-definition>javax.jms.ConnectionFactory</connection-definition>
<config-property name="channel"
type="java.lang.String">someChannel</config-property>
<config-property name="hostName"
type="java.lang.String">GIS01234.cloud.abc.com</config-property>
<config-property name="port"
type="java.lang.String">5678</config-property>
<config-property name="queueManager"
type="java.lang.String">QM_GIS5678</config-property>
<config-property name="transportType"
type="java.lang.String">CLIENT</config-property>
<security-domain-and-application>JmsXARealm</security-domain-and-application>
</tx-connection-factory>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="jca.wmq:name=cnngateway">
<attribute name="JNDIName">CNN_Gateway</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='wmq.jmsra.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
baseQueueManagerName=QM_GIS01234
baseQueueName=CNN_Queue
</attribute>
</mbean>
</connection-factories>
*Thanks in Advance*
*KK*
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/745359#745359]
Start a new discussion in JBoss ESB Development at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]