When using IBM JMS MQ connections in API gateway we see the following error in the log.
Caught unexpected Throwable in outbound JMS request processing: com.ibm.msg.client.jms.DetailedInvalidClientIDException: JMSCC0111: IBM MQ classes for JMS attempted to set a pre-existing client ID on a Connection or JMSContext. An application attempted to set the client ID property of a valid Connection or JMSContext to the value 'AMG-ESB-MQMAA04' but this value was already in use.
Ensure that the connection is valid and that the client ID is unique.; Invalid client identifier; JMSCC0111: IBM MQ classes for JMS attempted to set a pre-existing client ID on a Connection or JMSContext., error code: JMSCC0111. Exception caught!
Release : 9.4
Component : API GATEWAY
This is new behavior in the jms libraries above version 8.0 where by default a JMS ID can not be reused.
The JMS 2.0 specification requires that non-null client ids are checked for uniqueness when they make a connection.
Set the following java property to enforce the old behavior .
com.ibm.mq.jms.SupportMQExtensions=true
in the system.properties file for the gateway and restart the gw.
see also the following IBM document for some background information .
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/com.ibm.mq.dev.doc/q119130_.htm