IBM MQ messaging provider modes of operation

We can select which IBM MQ messaging provider mode of operation a JMS application uses to publish and subscribe by setting the PROVIDERVERSION property for the connection factory to the appropriate value. In some cases, the PROVIDERVERSION property is set as unspecified, in which case the JMS client uses an algorithm to determine which mode of operation to use.

PROVIDERVERSION property values

We can set the connection factory PROVIDERVERSION property to any of the following values:

    8 - normal mode
    The JMS application uses normal mode. This mode uses all the features of an IBM MQ queue manager to implement JMS.

    7 - normal mode with restrictions
    The JMS application uses normal mode with restrictions. This mode uses the JMS 2.0 API, but not the new features such as shared subscriptions, delayed delivery, or asynchronous send.

    6 - migration mode
    The JMS application uses migration mode. In migration mode, the IBM MQ classes for JMS use the features and algorithms similar to those that are supplied with IBM WebSphere MQ Version 6.0.

    unspecified (the default value)
    The JMS client uses an algorithm to determine which mode of operation is used.

The value that you specify for the PROVIDERVERSION property must be a string. If you are specifying an option of 8, 7 or 6, we can do this in any of the following formats:

  • V.R.M.F
  • V.R.M
  • V.R
  • V
where V, R, M and F are integer values greater than or equal to zero. The extra R, M and F values are optional and are available for you to use in case fine grained control is needed. For example, if you wanted to use a PROVIDERVERSION level of 7, you could set PROVIDERVERSION = 7, 7.0, 7.0.0 or 7.0.0.0.

Types of connection factory object

We can set the PROVIDERVERSION property for the following types of connection factory object:

  • MQConnectionFactory
  • MQQueueConnectionFactory
  • MQTopicConnectionFactory
  • MQXAConnectionFactory
  • MQXAQueueConnectionFactory
  • MQXAQueueConnectionFactory
  • MQXAQueueConnectionFactory
  • MQXATopicConnectionFactory
For more information about these different types of connection factory, see Configure JMS objects using the administration tool.