SupportMQExtensions property
The JMS 2.0 specification introduces changes to the way certain behaviors work. IBM MQ Version 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.
Three areas of functionality are reverted by setting SupportMQExtensions to True:
- Message priority
- Messages can be assigned a priority, 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 does 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 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 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.
The property com.ibm.mq.jms.SupportMQExtensions is a boolean property contained in com.ibm.mqjms.jar. This property can be set as follows:
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.
Parent topic: Use JMS 2.0 functionalityRelated concepts
Related reference