What is the WebSphere MQ JMS provider version property?
Rich_Montjoy 120000EPN0 Visits (3573)
The WebSphere MQ (WMQ) JMS (Java® Message Service) messaging provider allows you to choose between two modes of operation for a WMQ JMS application. The modes of operation control whether WMQ V6 or WMQ V7 features are used. WebSphere MQ V7 queue managers introduced added functionality such as shared conversations available to WMQ V7 but not to WMQ V6 clients. The PROVIDERVERSION property was provided for the connection factory to control the mode to be used depending on the queue manager version with which you are attempting to connect. We have seen quite a few instances where clients are incorrectly or unnecessarily specifying the PROVIDERVERSION property on the connectionFactory thus missing out on some key benefits of the newer releases. Let's take a moment to look at each mode of operation.
WebSphere MQ messaging provider normal mode is optimized to use the new function provided with WMQ V7. If the queue manager specified in the connection factory settings is not a version 7.0.1 queue manager then the createConnection() method fails. Normal mode utilizes all the new features at WMQ V7 such as shared conversations.
The WebSphere MQ messaging provider running in migration mode is limited to the functionality supplied with WebSphere MQ version 6.0. You can connect to a WMQ V7 queue manager in this mode, but none of the new features of a 7.0.1 queue manager are used. This migration mode was initially intended as a way for clients to maintain their V6 queued publish subscribe topology temporarily until a suitable time to complete the V7 migration. It was never intended as a long term solution. You can set the PROVIDERVERSION to 3 possible values (7, 6 and unspecified) which is the default.
Here are some examples of how to set the property:
In summary, the PROVIDERVERSION property for the WebSphere MQ connection factory should in the vast majority of cases be left to the default value of unspecified. If you run into a problem that seems resolved by setting this to some other value, please contact support so we can work with you to determine if there is an alternative solution.