Configuring the JMS PROVIDERVERSION property

The IBM® MQ messaging provider has three modes of operation: normal mode, normal mode with restrictions, and migration mode. You can set the JMS PROVIDERVERSION property to select which of these modes a JMS application uses to publish and subscribe.

About this task

The selection of the IBM MQ messaging provider mode of operation can be primarily controlled by setting the PROVIDERVERSION connection factory property. The mode of operation can also be selected automatically if a mode has not been specified.

The PROVIDERVERSION property differentiates between the three IBM MQ messaging provider modes of operation:
IBM MQ messaging provider 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.
IBM MQ messaging provider normal mode with restrictions
Normal mode with restrictions uses the JMS 2.0 API, but not the new features, that is, shared subscriptions, delayed delivery, and asynchronous send.
IBM MQ messaging provider migration mode
With migration mode, you can connect to an IBM MQ 8.0 or later queue manager, but none of the features of an IBM WebSphere® MQ 7.0 or later queue manager, such as read ahead and streaming, are used.
Figure 1. Messaging provider modes
This image shows two rectangular boxes, one for migration mode, and the other for normal mode and normal mode with restrictions, over a third box for the Java interface to MQI.

Procedure

To configure the PROVIDERVERSION property for a specific connection factory:

To override connection factory provider mode settings for all connection factories in the JVM:

  • To override connection factory provider mode settings, use the com.ibm.msg.client.wmq.overrideProviderVersion property
    If you cannot change the connection factory that you are using, you can use the com.ibm.msg.client.wmq.overrideProviderVersion property to override any setting on the connection factory. This override applies to all connection factories in the JVM but the actual connection factory objects are not modified.