SupportMQExtensions property
The JMS 2.0 specification introduced changes to the way certain behaviors work. IBM® MQ 8.0 and later includes the property com.ibm.mq.jms.SupportMQExtensions, which can be set to TRUE to revert these changed behaviors back to previous implementations.
![[MQ 9.3.0 Jun 2022]](ng930cd.gif)
![[MQ 9.3.0 Jun 2022]](ng930.gif)
The
com.ibm.mq.jakarta.jms.SupportMQExtensions property (Jakarta Messaging 3.0) is supported by the IBM MQ classes for Jakarta Messaging, which are
available in com.ibm.mq.jakarta.client.jar.
The com.ibm.mq.jms.SupportMQExtensions (JMS 2.0) property is supported by the IBM MQ classes for JMS, which are available in
com.ibm.mq.allclient.jar or com.ibm.mqjms.jar.
- Message priority
- Messages can be assigned a priority of 0 - 9. Before JMS 2.0, messages could also use the value -1, indicating that a queue's default priority is used. JMS 2.0 and later do not allow a message priority of -1 to be set. Turning on SupportMQExtensions allows the value of -1 to be used.
- Client id
- The JMS 2.0 or later specification requires that non-null client IDs are checked for uniqueness when they make a connection. Turning on SupportMQExtensions means that this requirement is disregarded, and that a client ID can be reused.
- NoLocal
- The JMS 2.0 or later specification requires that when this constant is turned on, a consumer cannot receive messages that are published by the same client ID. Before JMS 2.0, this attribute was set on a subscriber to prevent it receiving messages that are published by its own connection. Turning on SupportMQExtensions reverts this behavior to its previous implementation.
java -Dcom.ibm.mq.jms.SupportMQExtensions=true
This property can be set either as a standard JVM System property on the java command or contained within the IBM MQ classes for JMS configuration file.