IBM Support

CWSJY0003W messages with detailed exception message JMSWMQ1107

Troubleshooting


Problem

You notice CWSJY0003W messages with detailed exception message JMSWMQ1107 appear just after an Activation Specification has reconnected to WebSphere MQ.

Symptom

When you use the WebSphere MQ messaging provider in WebSphere Application Server Version 7.x, you see the following warning messages in the application server's SystemOut.log file immediately after an Activation Specification has reconnected to WebSphere MQ:

CWSJY0003W: ActivationSpec '<name>' reconnected successfully.
J2CA0206W:  A connection error occurred. To help determine the problem,
            enable the Diagnose Connection Usage option on the Connection
            Factory or Data Source.
J2CA0056I:  The Connection Manager received a fatal connection error from
            the Resource Adaptor for resource <connection factory>.  The
            exception which was received is : com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
CWSJY0003W: 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:601)
      : com.ibm.msg.client.wmq.common.internal.Reason.
            createException(Reason.java:219)
      : com.ibm.msg.client.wmq.internal.WMQSession.
            disconnect(WMQSession.java:719)
      : com.ibm.msg.client.wmq.internal.WMQSession.
            close(WMQSession.java:678)
      : com.ibm.msg.client.jms.internal.JmsSessionImpl.
            close(JmsSessionImpl.java:439)
      : com.ibm.msg.client.jms.internal.JmsConnectionImpl.
            close(JmsConnectionImpl.java:273)
      : com.ibm.mq.jms.MQConnection.close(MQConnection.java:93)
      : com.ibm.ejs.jms.JMSManagedConnection.
            destroy(JMSManagedConnection.java:1118)
      : com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1852)
      : com.ibm.ejs.j2c.FreePool.
            cleanupAndDestroyMCWrapper(FreePool.java:738)
      : com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:886)
  <stack trace truncated>
     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:206)
      : com.ibm.msg.client.wmq.internal.WMQSession.
            disconnect(WMQSession.java:719)
      : com.ibm.msg.client.wmq.internal.WMQSession.
            close(WMQSession.java:678)
      : com.ibm.msg.client.jms.internal.JmsSessionImpl.
            close(JmsSessionImpl.java:439)
      : com.ibm.msg.client.jms.internal.JmsConnectionImpl.
            close(JmsConnectionImpl.java:273)
      : com.ibm.mq.jms.MQConnection.close(MQConnection.java:93)
      : com.ibm.ejs.jms.JMSManagedConnection.
            destroy(JMSManagedConnection.java:1118)
      : com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1852)
      : com.ibm.ejs.j2c.FreePool.
            cleanupAndDestroyMCWrapper(FreePool.java:738)
      : com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:886)
  <stack trace truncated>

Resolving The Problem

The warning messages that appear in the SystemOut.log file immediately after the message:

CWSJY0003W: ActivationSpec '<name>' reconnected successfully.

are for connections that were in the application server's connection pool when the original connection error was detected. They are the result of the way the application server's connection pool works, and not an application issue. The messages can be safely ignored.

There is a connection pool for every connection factory defined in the application server, which is used for outbound messaging (for example, when applications running inside of WebSphere Application Server send messages to WebSphere MQ). When the connection being used by the Activation Specification is broken, the Activation Specification is stopped and restarted automatically - this ensures that a new connection to WebSphere MQ is established.

As part of this processing, any outbound connections to the same queue manager in the connection pool are closed off using WebSphere MQ API calls. However, as the connections to the queue manager have been broken, these API calls cannot complete successfully which results in the J2CA0206W, J2CA0056I and CWSJY0003W messages appearing in the SystemOut.log file.

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Java Message Service (JMS)","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"7.0","Edition":"Base;Network Deployment","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
23 June 2018

UID

swg21412761