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 you must override the default selection for the PROVIDERVERSION property so that the IBM MQ classes for JMS can work correctly.

Note: The migration mode that is described in this topic is for migration from IBM WebSphere® MQ 6.0 to IBM WebSphere MQ 7.0. It does not apply to migration from later releases.

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

When the PROVIDERVERSION property is set to the default of unspecified, an algorithm is used to determine which mode of operation to use, as described in PROVIDERVERSION unspecified. However, you cannot use this algorithm in the following two scenarios.
  1. If WebSphere Message Broker and WebSphere Event Broker are in compatibility mode, you must specify a value for the PROVIDERVERSION property for WebSphere Message Broker and WebSphere Event Broker to work correctly.
  2. If you are using WebSphere Application Server 6.0.1, WebSphere Application Server 6.0.2, or WebSphere Application Server 6.1, connection factories are defined by 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 value for the BROKERVER property for connection factories that are created by using the JMS administration tool JMSAdmin or IBM MQ Explorer is V1. This property is now unspecified in IBM MQ.

If the BROKERVER property 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 property 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 been used for publish/subscribe, and has a connection factory with BROKERVER set to 2, which is the default setting if the connection factory was created in WebSphere Application Server, 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. The option that you choose depends on your application.
  • Set PROVIDERVERSION to 8, or 7, which are custom properties in WebSphere Application Server 6.1.

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