When to use PROVIDERVERSION

In two cases you must override the default selection of PROVIDERVERSION for the IBM® MQ classes for JMS to work correctly.

Note:

The migration mode that is described in this topic is migration from IBM WebSphere® MQ 6.0 to IBM WebSphere MQ 7.0.

IBM WebSphere MQ 6.0, WebSphere Application Server Version 6.0.x, and WebSphere Message Broker Version 6 are out of support, and therefore this topic is included only for reference purposes.

There are two scenarios where you cannot use the algorithm described in Rules for selecting the IBM MQ messaging provider mode. Consider using PROVIDERVERSION in these scenarios.
  1. If IBM Integration Bus is in compatibility mode, you must specify PROVIDERVERSION for it to work correctly.
  2. If you are using WebSphere Application Server Version 6.0.1, WebSphere Application Server Version 6.0.2, or WebSphere Application Server Version 6.1, connection factories are defined using the WebSphere Application Server administrative console.

    In WebSphere Application Server the default value of the BROKERVER property on a connection factory is V2. The default BROKERVER property for connection factories created by using JMSAdmin or IBM MQ Explorer is V1. This property is now unspecified in IBM MQ.

If BROKERVER is set to V2 (either because it was created by WebSphere Application Server or the connection factory has been used for publish/subscribe before) and has an existing queue manager that has a BROKERCONQ defined (because it has been used for publish/subscribe messaging before), the IBM MQ messaging provider migration mode is used.

However, if you want the application to use peer-to-peer communication and the application is using an existing queue manager that has ever done publish/subscribe, and has a connection factory with BROKERVER set to 2 (if the connection factory was created in WebSphere Application Server this is the default), the IBM MQ messaging provider migration mode is used. Using IBM MQ messaging provider migration mode in this case is unnecessary; use IBM MQ messaging provider normal mode instead. You can use one of the following methods to work around this:
  • Set BROKERVER to 1 or unspecified. This is dependent on your application.
  • Set PROVIDERVERSION to 8, or 7 which are custom properties in WebSphere Application Server Version 6.1.

    Alternatively, use the client configuration property, or modify the queue manager connected so it does not have the BROKERCONQ, or make the queue unusable.