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.
- 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 a IBM MQ 8.0 queue manager, but none of the features of a IBM WebSphere® MQ 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 MQ Explorer, see Configuring queue managers and objects.
- To configure the PROVIDERVERSION property using the JMS administration tool, see Configuring queue managers and objects.
- To configure the PROVIDERVERSION property in a JMS application using the IBM JMS extensions or IBM MQ JMS extensions, seeCreating 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
propertyIf you cannot change the connection factory that you are using, you can use thecom.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.