Configure the JMS PROVIDERVERSION property
The IBM MQ messaging provider has three modes of operation: normal mode, normal mode with restrictions, and migration mode. We can set the JMS PROVIDERVERSION property to select which of these modes a JMS application uses to publish and subscribe.
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, we can connect to a IBM MQ Version 8.0 or later queue manager, but none of the features of a IBM WebSphere MQ Version 7.0 or later queue manager, such as read ahead and streaming, are used.
Procedure
To configure the PROVIDERVERSION property for a specific connection factory:
- To configure the PROVIDERVERSION property using IBM MQ Explorer, see Configure queue managers and objects.
- To configure the PROVIDERVERSION property using the JMS administration tool, see Configure queue managers and objects.
- To configure the PROVIDERVERSION property in a JMS application using the IBM JMS extensions or IBM MQ JMS extensions, seeCreate and configuring connection factories and destinations in an IBM MQ classes for JMS application.
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 we cannot change the connection factory that we are using, we 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.
- 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. - When to override the PROVIDERVERSION default setting
If a connection factory that was created in the JNDI namespace with a previous version of IBM MQ classes for JMS is used with the new version of IBM MQ classes for JMS, the PROVIDERVERSION property for the connection factory is set to the default value of unspecified and an algorithm is used to determine which IBM MQ messaging provider mode of operation is used. However, there are two cases where we must override the default selection for the PROVIDERVERSION property so that the IBM MQ classes for JMS can work correctly. - Configure provider version information in WebSphere Application Server
To configure provider version information in WebSphere Application Server, we can either use the administrative console or wsadmin commands.
Parent topic: Configure JMS resources
Related information
- PROVIDERVERSION
- JMS provider version troubleshooting
- Connection factory properties
- Dependencies between properties of IBM MQ classes for JMS objects