tWAS 9.0 と MQ 9.2 でJMSを動かす #Java - Qiitaの環境で実行しています。
1.MQを停止
[root@c90105v1 ~]# date; podman stop mq
Tue Apr 30 09:23:30 PM PDT 2024
WARN[0010] StopSignal SIGTERM failed to stop container mq in 10 seconds, resorting to SIGKILL
mq
2.WASで警告 CWSJY0003W が発生
最大5回、300000ミリ秒おきに再接続が試行される。
秒数と回数はIBM® MQ リソース・アダプターのプロパティーの構成 - IBM Documentationの下記設定によるもの。
Reconnection retry count
接続が失敗した場合に、 IBM MQ メッセージング・プロバイダー・アクティベーション・スペックが IBM MQ キュー・マネージャーへの再接続を試行する最大回数。
Reconnection retry interval
IBM MQ メッセージング・プロバイダー・アクティベーション・スペックが IBM MQ キュー・マネージャーへの再接続を再試行する前に待機する時間 (ミリ秒)。
[5/1/24 4:23:30:425 UTC] 000000a7 SibMessage W [:] CWSJY0003W: JMSCC3036: An exception has been delivered to the connection's 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:580)
: com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:216)
: com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:814)
: com.ibm.mq.jmqi.remote.api.RemoteHconn.callEventHandler(RemoteHconn.java:2648)
: com.ibm.mq.jmqi.remote.api.RemoteHconn.driveEventsEH(RemoteHconn.java:571)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.processHconn(RemoteDispatchThread.java:751)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.run(RemoteDispatchThread.java:250)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
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:204)
: com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:814)
: com.ibm.mq.jmqi.remote.api.RemoteHconn.callEventHandler(RemoteHconn.java:2648)
: com.ibm.mq.jmqi.remote.api.RemoteHconn.driveEventsEH(RemoteHconn.java:571)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.processHconn(RemoteDispatchThread.java:751)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.run(RemoteDispatchThread.java:250)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
'.
[5/1/24 4:23:30:430 UTC] 000000a8 SibMessage W [:] CWSJY0003W: JMSCC3036: An exception has been delivered to the connection's 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:580)
: com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:216)
: com.ibm.msg.client.wmq.internal.WMQConnectionBrowser$WMQConnectionBrowserShadow.consumer(WMQConnectionBrowser.java:669)
: com.ibm.mq.jmqi.remote.impl.RemoteProxyQueue.callConsumer(RemoteProxyQueue.java:3474)
: com.ibm.mq.jmqi.remote.impl.RemoteProxyQueue.driveConsumer(RemoteProxyQueue.java:4299)
: com.ibm.mq.jmqi.remote.impl.RemoteProxyQueue.deliverMsgs(RemoteProxyQueue.java:4860)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.deliverMsgsReconnectable(RemoteDispatchThread.java:578)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.deliverMsgs(RemoteDispatchThread.java:544)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.run(RemoteDispatchThread.java:280)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
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:204)
: com.ibm.msg.client.wmq.internal.WMQConnectionBrowser$WMQConnectionBrowserShadow.consumer(WMQConnectionBrowser.java:669)
: com.ibm.mq.jmqi.remote.impl.RemoteProxyQueue.callConsumer(RemoteProxyQueue.java:3474)
: com.ibm.mq.jmqi.remote.impl.RemoteProxyQueue.driveConsumer(RemoteProxyQueue.java:4299)
: com.ibm.mq.jmqi.remote.impl.RemoteProxyQueue.deliverMsgs(RemoteProxyQueue.java:4860)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.deliverMsgsReconnectable(RemoteDispatchThread.java:578)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.deliverMsgs(RemoteDispatchThread.java:544)
: com.ibm.mq.jmqi.remote.impl.RemoteDispatchThread.run(RemoteDispatchThread.java:280)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
'.
[5/1/24 4:23:30:433 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4013: A connection to a queue manager failed for activationSpec 'javax.jms.Queue:Q3@QM1 <1325951615>'. Check the queue manager error logs for details.
[5/1/24 4:23:30:435 UTC] 000000a9 SibMessage W [:] CWSJY0003W: MQJCA4013: A connection to a queue manager failed for activationSpec 'javax.jms.Queue:Q3@QM1 <1325951615>'. Check the queue manager error logs for details.
[5/1/24 4:23:30:446 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4003: A recoverable exception occurred in the JMS layer: 'JMSCMQ0002: The method 'MQCTL' failed.'.
[5/1/24 4:23:30:453 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4011: An exception was thrown by ManagedConnection.destroy().
[5/1/24 4:23:30:517 UTC] 000000a9 SibMessage W [:] CWSJY0003W: MQJCA4003: A recoverable exception occurred in the JMS layer: 'JMSCMQ0002: The method 'MQCTL' failed.'.
[5/1/24 4:23:30:561 UTC] 000000a9 SibMessage W [:] CWSJY0003W: MQJCA4011: An exception was thrown by ManagedConnection.destroy().
[5/1/24 4:23:30:564 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4037: Reconnection failed for ActivationSpec 'javax.jms.Queue:Q3@QM1 <1325951615>'. Exception details: '
Message : com.ibm.mq.connector.DetailedResourceAdapterInternalException: MQJCA1011: Failed to allocate a JMS connection. An internal error caused an attempt to allocate a connection to fail. See the linked exception for details of the failure.
Class : class com.ibm.mq.connector.DetailedResourceAdapterInternalException
Stack : com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:129)
: com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:100)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:307)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [1] --> Message : com.ibm.msg.client.jms.DetailedIllegalStateException: JMSWMQ0018: Failed to connect to queue manager 'QM1' with connection mode 'Client' and host name 'c90105v1.fyre.ibm.com(1414)'.
Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.
Class : class com.ibm.msg.client.jms.DetailedIllegalStateException
Stack : com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:474)
: com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:216)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:431)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [2] --> Message : com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2538' ('MQRC_HOST_NOT_AVAILABLE').
Class : class com.ibm.mq.MQException
Stack : com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:204)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:431)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [3] --> Message : com.ibm.mq.jmqi.JmqiException: CC=2;RC=2538;AMQ9204: Connection to host 'c90105v1.fyre.ibm.com(1414)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2538;AMQ9213: A communications error for 'TCP' occurred. [1=java.net.ConnectException[Connection refused (Connection refused)],3=connnectUsingLocalAddress,4=TCP,5=Socket.connect]],3=c90105v1.fyre.ibm.com(1414),5=RemoteTCPConnection.connnectUsingLocalAddress]
Class : class com.ibm.mq.jmqi.JmqiException
Stack : com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:2148)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1350)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:350)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [4] --> Message : com.ibm.mq.jmqi.JmqiException: CC=2;RC=2538;AMQ9213: A communications error for 'TCP' occurred. [1=java.net.ConnectException[Connection refused (Connection refused)],3=connnectUsingLocalAddress,4=TCP,5=Socket.connect]
Class : class com.ibm.mq.jmqi.JmqiException
Stack : com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.connnectUsingLocalAddress(RemoteTCPConnection.java:843)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.protocolConnect(RemoteTCPConnection.java:1316)
: com.ibm.mq.jmqi.remote.impl.RemoteConnection.connect(RemoteConnection.java:901)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSessionFromNewConnection(RemoteConnectionSpecification.java:388)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSession(RemoteConnectionSpecification.java:269)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionPool.getSession(RemoteConnectionPool.java:174)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1759)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1350)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:350)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [5] --> Message : java.net.ConnectException: Connection refused (Connection refused)
Class : class java.net.ConnectException
Stack : java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:380)
: java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:236)
: java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:218)
: java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
: java.net.Socket.connect(Socket.java:682)
: java.net.Socket.connect(Socket.java:622)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection$5.run(RemoteTCPConnection.java:828)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection$5.run(RemoteTCPConnection.java:822)
: java.security.AccessController.doPrivileged(AccessController.java:690)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.connnectUsingLocalAddress(RemoteTCPConnection.java:820)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.protocolConnect(RemoteTCPConnection.java:1316)
: com.ibm.mq.jmqi.remote.impl.RemoteConnection.connect(RemoteConnection.java:901)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSessionFromNewConnection(RemoteConnectionSpecification.java:388)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSession(RemoteConnectionSpecification.java:269)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionPool.getSession(RemoteConnectionPool.java:174)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1759)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1350)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:350)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
'.
[5/1/24 4:23:30:565 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4029: Activation specification reconnection attempt '1' of '5'. Waiting '300000' milliseconds before attempting to reconnect the endpoint 'javax.jms.Queue:Q3@QM1 <1325951615>'.
[5/1/24 4:23:30:660 UTC] 000000ad SibMessage W [:] CWSJY0003W: MQJCA4037: Reconnection failed for ActivationSpec 'javax.jms.Queue:Q3@QM1 <1325951615>'. Exception details: '
Message : com.ibm.mq.connector.DetailedResourceAdapterInternalException: MQJCA1011: Failed to allocate a JMS connection. An internal error caused an attempt to allocate a connection to fail. See the linked exception for details of the failure.
Class : class com.ibm.mq.connector.DetailedResourceAdapterInternalException
Stack : com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:129)
: com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:100)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:307)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [1] --> Message : com.ibm.msg.client.jms.DetailedIllegalStateException: JMSWMQ0018: Failed to connect to queue manager 'QM1' with connection mode 'Client' and host name 'c90105v1.fyre.ibm.com(1414)'.
Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.
Class : class com.ibm.msg.client.jms.DetailedIllegalStateException
Stack : com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:474)
: com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:216)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:431)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [2] --> Message : com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2538' ('MQRC_HOST_NOT_AVAILABLE').
Class : class com.ibm.mq.MQException
Stack : com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:204)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:431)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [3] --> Message : com.ibm.mq.jmqi.JmqiException: CC=2;RC=2538;AMQ9204: Connection to host 'c90105v1.fyre.ibm.com(1414)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2538;AMQ9213: A communications error for 'TCP' occurred. [1=java.net.ConnectException[Connection refused (Connection refused)],3=connnectUsingLocalAddress,4=TCP,5=Socket.connect]],3=c90105v1.fyre.ibm.com(1414),5=RemoteTCPConnection.connnectUsingLocalAddress]
Class : class com.ibm.mq.jmqi.JmqiException
Stack : com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:2148)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1350)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:350)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [4] --> Message : com.ibm.mq.jmqi.JmqiException: CC=2;RC=2538;AMQ9213: A communications error for 'TCP' occurred. [1=java.net.ConnectException[Connection refused (Connection refused)],3=connnectUsingLocalAddress,4=TCP,5=Socket.connect]
Class : class com.ibm.mq.jmqi.JmqiException
Stack : com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.connnectUsingLocalAddress(RemoteTCPConnection.java:843)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.protocolConnect(RemoteTCPConnection.java:1316)
: com.ibm.mq.jmqi.remote.impl.RemoteConnection.connect(RemoteConnection.java:901)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSessionFromNewConnection(RemoteConnectionSpecification.java:388)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSession(RemoteConnectionSpecification.java:269)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionPool.getSession(RemoteConnectionPool.java:174)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1759)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1350)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:350)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
Caused by [5] --> Message : java.net.ConnectException: Connection refused (Connection refused)
Class : class java.net.ConnectException
Stack : java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:380)
: java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:236)
: java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:218)
: java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
: java.net.Socket.connect(Socket.java:682)
: java.net.Socket.connect(Socket.java:622)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection$5.run(RemoteTCPConnection.java:828)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection$5.run(RemoteTCPConnection.java:822)
: java.security.AccessController.doPrivileged(AccessController.java:690)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.connnectUsingLocalAddress(RemoteTCPConnection.java:820)
: com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.protocolConnect(RemoteTCPConnection.java:1316)
: com.ibm.mq.jmqi.remote.impl.RemoteConnection.connect(RemoteConnection.java:901)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSessionFromNewConnection(RemoteConnectionSpecification.java:388)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSession(RemoteConnectionSpecification.java:269)
: com.ibm.mq.jmqi.remote.impl.RemoteConnectionPool.getSession(RemoteConnectionPool.java:174)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1759)
: com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1350)
: com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:350)
: com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:70)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:190)
: com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6157)
: com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
: com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
: com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:124)
: com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:209)
: com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:283)
: com.ibm.mq.connector.inbound.ConnectionHelperThread.run(ConnectionHelperThread.java:118)
: 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.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:550)
: java.lang.Thread.run(Thread.java:825)
'.
[5/1/24 4:23:30:661 UTC] 000000ad SibMessage W [:] CWSJY0003W: MQJCA4029: Activation specification reconnection attempt '1' of '5'. Waiting '300000' milliseconds before attempting to reconnect the endpoint 'javax.jms.Queue:Q3@QM1 <1325951615>'.
[5/1/24 4:28:30:621 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4029: Activation specification reconnection attempt '2' of '5'. Waiting '300000' milliseconds before attempting to reconnect the endpoint 'javax.jms.Queue:Q3@QM1 <1325951615>'.
[5/1/24 4:28:30:696 UTC] 000000ad SibMessage W [:] CWSJY0003W: MQJCA4029: Activation specification reconnection attempt '2' of '5'. Waiting '300000' milliseconds before attempting to reconnect the endpoint 'javax.jms.Queue:Q3@QM1 <1325951615>'.
[5/1/24 4:33:30:657 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4029: Activation specification reconnection attempt '3' of '5'. Waiting '300000' milliseconds before attempting to reconnect the endpoint 'javax.jms.Queue:Q3@QM1 <1325951615>'.
[5/1/24 4:33:30:733 UTC] 000000ad SibMessage W [:] CWSJY0003W: MQJCA4029: Activation specification reconnection attempt '3' of '5'. Waiting '300000' milliseconds before attempting to reconnect the endpoint 'javax.jms.Queue:Q3@QM1 <1325951615>'.
[5/1/24 4:38:30:708 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4029: Activation specification reconnection attempt '4' of '5'. Waiting '300000' milliseconds before attempting to reconnect the endpoint 'javax.jms.Queue:Q3@QM1 <1325951615>'.
[5/1/24 4:38:30:771 UTC] 000000ad SibMessage W [:] CWSJY0003W: MQJCA4029: Activation specification reconnection attempt '4' of '5'. Waiting '300000' milliseconds before attempting to reconnect the endpoint 'javax.jms.Queue:Q3@QM1 <1325951615>'.
[5/1/24 4:43:30:743 UTC] 000000aa SibMessage W [:] CWSJY0003W: MQJCA4014: Failed to reconnect one or more MDBs after a connection failure.
[5/1/24 4:43:30:815 UTC] 000000ad SibMessage W [:] CWSJY0003W: MQJCA4014: Failed to reconnect one or more MDBs after a connection failure.
3.もう一度MQを起動してみる。
WASにはログは出ず、MQを起動するだけではなにも起きない。
[root@c90105v1 ~]# date; podman start mq
Tue Apr 30 09:56:06 PM PDT 2024
mq
4.もう一度MQを止めてみる。
MQに接続していないため、MQを停止してもなにも起きない。
[root@c90105v1 ~]# date; podman stop mq
Tue Apr 30 10:06:35 PM PDT 2024
WARN[0010] StopSignal SIGTERM failed to stop container mq in 10 seconds, resorting to SIGKILL
mq
5.エンドポイントをResume
管理コンソールで
Endpoint jms_war#jms.war#PdprofMdb_J2CMessageEndpoint (AS) is already active.
となる。なにも変わらない。
6.エンドポイントをPauseしてResumeしてみる
Pauseのログ
[5/1/24 5:17:05:218 UTC] 00000096 ActivationSpe I J2CA0524I: The Message Endpoint for ActivationSpec AS (com.ibm.mq.connector.inbound.ActivationSpecImpl) and MDB Application jms_war#jms.war#PdprofMdb is deactivated.
Resumeのログ。メッセージ・エンドポイントとMDBアプリケーションがアクティベートされた。
[5/1/24 5:18:13:659 UTC] 00000096 ActivationSpe I J2CA0523I: The Message Endpoint for ActivationSpec AS (com.ibm.mq.connector.inbound.ActivationSpecImpl) and MDB Application jms_war#jms.war#PdprofMdb is activated.
結論
1.MQとの接続が切れると、IBM® MQ リソース・アダプターの設定に応じて、IBM MQ メッセージング・プロバイダー・アクティベーション・スペックは再接続を試行する。
IBM® MQ リソース・アダプターのプロパティーの構成 - IBM Documentation
Reconnection retry count
接続が失敗した場合に、 IBM MQ メッセージング・プロバイダー・アクティベーション・スペックが IBM MQ キュー・マネージャーへの再接続を試行する最大回数。
Reconnection retry interval
IBM MQ メッセージング・プロバイダー・アクティベーション・スペックが IBM MQ キュー・マネージャーへの再接続を再試行する前に待機する時間 (ミリ秒)。
2.再接続の試行で接続できないと下記のログが出る。
CWSJY0003W: MQJCA4014: Failed to reconnect one or more MDBs after a connection failure.
3. この状態で再接続するには、エンドポイントをPauseしてResumeする必要がある。
メッセージ・エンドポイントの管理 - IBM Documentation
この管理コンソール・パネルを表示するには、以下のようにします。
アプリケーション > アプリケーション・タイプ > WebSphere エンタープライズ・アプリケーション > アプリケーション名を選択します。
「 ランタイム 」パネルを選択します。 「ランタイム」パネルは、メッセージ駆動型 Bean をホストするアプリケーションがインストールされている場合にのみ表示されます。
「メッセージ・エンドポイント (Message Endpoints)」を選択します。 パネルには、アプリケーションに よってホストされているメッセージ・エンドポイントのセットがリストされます。
「一時停止」をクリックすると、メッセージ・エンドポイントが非アクティブになり、メッセージ処理を停止します。
「再開」をクリックして、非アクティブなメッセージ・エンドポイントを再びアクティブにします。