Skip to Content

As we upgrade MQ servers in the landscape, how will this effect PI’s JMS adapters? What should we do if we have multiple MQ server versions in our landscape?

In this blog, we will take a look at some of the compatibility issues between the different releases of MQ when integrating with PI.
Background Info:
When using the PI technical adapters to integrate with 3rd party data sources, e.g. database and messaging systems, we must include the drivers, or libraries, of those systems in either aii_af_jmsproviderlib.sda for PI 7.0/XI 3.0 or com.sap.aii.adapter.lib.sda for PI 7.1+.
Most of the drivers for these systems are backward compatible. This means that when using the lastest driver version, we should also be able to access all previous versions of the same database or messaging system.
Unfortunately, this is not the case for IBM MQ.
Here, we have examined 3 different driver versions of MQ: 5.3, 6.0 and 7.0. Using the drivers of these different versions to access MQ server 5.3 and 7.0.
Required Drivers:
For the different releases of the MQ, different sets of drivers (client libraries or jar files) are required:
  1. 5.3:
    com.ibm.mq.jar
    com.ibm.mqjms.jar
  2. 6.0:
    com.ibm.mq.jar
    com.ibm.mqjms.jar
    connector.jar
    dhbcore.jar
    rmm.jar
  3. 7.0:
    CL3Export.jar
    CL3Nonexport.jar
    dhbcore.jar
    rmm.jar
    connector.jar
    fscontext.jar
    providerutil.jar
    com.ibm.mqjms.jar
    com.ibm.mq.headers.jar
    com.ibm.mq.jar
    com.ibm.mq.jmqi.jar
    com.ibm.mq.pcf.jar
    (It is possible a few of the above jar files may not be needed. We did verify which ones.)

Compatibility Findings:

Below are our finding when testing the different sets of drivers on a PI 7.1 system, accessing MQ 5.3 and MQ 7.0 servers. I do not believe the PI version will make any different for this test.
MQ Server
Version
MQ Driver Version Comments
5.3 6.0 7.0
5.3 image image image1 1Problem with JMS
receiver comm chan
7.0 image2 image image 2Problem with JMS
sender comm chan
Recommendation:
MQ6 drivers or client libraries are most suitable when multiple versions of MQ servers are used in the landscape.
If only a single version of MQ server is used, then that version’s driver or client libraries should be used.
To report this post you need to login first.

8 Comments

You must be Logged on to comment or reply to a post.

  1. Pavan Tubati
    Hi William,

    Thanks for your Blog. I have Question regarding JMS Receiver channel. In our Landscape we are using PI7.1 and Versions of the JMS 7.0. But we are facing a typical error very frequently of commit failure JMSMQ error 2009. I have checked in SDN i am not able to get any clue what is the problem initially we thought it is size problem but the message is maximum 80KB. Let me know if you can figure it out any thing.

    Thanks,
    Pavan

    (0) 
  2. Martin Ibrahim

    Hi Williams, nice blog! I’m working with MQSeries Version 6.12.x..I guess if you have the client drivers for 6.0 version:

    com.ibm.mq.jar

    com.ibm.mqjms.jar

    connector.jar

    dhbcore.jar

    rmm.jar

    I’ve tried to deploy the same files from the server but doesn’t works. Thanks for you collaboration!

    Martin.

    (0) 
  3. Norman Staples

    Hi William,  You mention in the table above that there are problem with JMS receiver comm channel with MQ 5.3 and MQ 7.0 drivers.   I have landscape that has MQ versions: 5.3, 6.0, 7.0.x and 8.x. We are currently using the MQ 6.0 drivers but need to go to MQ 7.0 in order to connect with HA MQ v8.x environment. What kind of problems did you encounter?

    (0) 

Leave a Reply