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 we 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 we 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.

  • PROVIDERVERSION normal mode
    Normal mode uses all the features of an IBM MQ queue manager to implement JMS. This mode is optimized to use the JMS 2.0 API and functionality.
  • PROVIDERVERSION normal mode with restrictions
    Normal mode with restrictions uses the JMS 2.0 API, but not the new IBM MQ Version 8.0 or later features such as shared subscriptions, delayed delivery, or asynchronous send.
  • PROVIDERVERSION migration mode
    For 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, such as queued publish/subscribe, selection implemented on the client side, non-multiplex channels, and polling used to implement listeners.
  • PROVIDERVERSION unspecified
    When the PROVIDERVERSION property of a connection factory is unspecified, the JMS client uses an algorithm to determine which mode of operation is used for connecting to the queue manager. A connection factory that was created in the JNDI namespace with a previous version of IBM MQ classes for JMS takes the unspecified value when the connection factory is used with the new version of IBM MQ classes for JMS.

Parent topic: Configure the JMS PROVIDERVERSION property


Related information