Posted by: ibmadmin | April 25, 2012


How to upgrade/update WMQ Resource Adaptor (RA) in Websphere Application Server Environment


Some time, we may need to upgrade IBM Websphere Application Server resources adaptors (like MQ or other specific adaptors) separately from the IBM Websphere Application Server fix pack upgrade activity. In IBM Websphere Application Server 7.0 (most likely WAS6.1 as well) the IBM MQ resource adapters won’t be upgraded automatically to the latest version of MQ resource adaptor which is bundled with IBM Websphere Application Server 7.0.0.X fix pack release.  This might cause some unwanted result in your middleware environment like, memory leak issue in JVMs, mq transaction issue and IBM Websphere Message Queue channel count issue in the MQ servers. These situations force the middleware administrators to upgrade the IBM Websphere Application Server – WMQ adaptor separately as IBM WAS upgrade won’t update the WMQ by default.

The following link gives some more details about the know issue for the older (i.e. MQ resource adaptors.

Understanding the Problem

IBM Websphere Application Server uses IBM MQ client library (i.e. IBM MQ client installation library) or the IBM WAS in build WMQ resource adaptor library based on the mode (CLIENT or BIND) of Queue Connection Factory setting.  We can identify the IBM WAS WMQ library version details from the JMV SystemOut.log file during the JVM start up.

JVM SystemOut.log

[4/24/12 17:46:37:531 EDT] 0000000a CGBridgeSubsc I   CWRCB0102I: The core group bridge service has started the subscription router.

[4/24/12 17:46:38:341 EDT] 0000000a UserRegistryI A   SECJ0136I: Custom has been initialized

[4/24/12 17:46:38:350 EDT] 0000000a JMSRegistrati A   WMSG1611I: The installed level of the WebSphere MQ messaging provider is

[4/24/12 17:46:38:367 EDT] 0000000a JMSRegistrati I   WMSG1703I: RAR implementation version

[4/24/12 17:46:38:369 EDT] 0000000a JMSRegistrati A   WMSG1627I: Native libraries for the WebSphere MQ messaging provider will be loaded from the following di

rectory: /opt/mqm/java/lib64.

[4/24/12 17:46:38:547 EDT] 0000000a ObjectPoolSer I   OBPL0010I: The Object Pool service started successfully.

[4/24/12 17:46:44:067 EDT] 0000000a JMXSoapAdapte A   ADMC0013I: The SOAP connector is available at port 6035

The above SystemOut.log file explains about the IBM MQ RA version details and the MQ native library information details. In this case, we are using “AR implementation version” for WMQ RA version and “/opt/mqm/java/lib64” for the native MQ libraries. By default the native MQ library path don’t have any value in the “JMS Providers -> Websphere MQ messaging provider” messaging provider. If the application uses MQ Bind option to connect to the Queue Mangers, then we should have proper values in the MQ Naïve library path. Use the following link to update the IBM MQ Native library path in the IBM WAS console.

Most of the IBM WAS MQ applications use the in-build IBM WAS library to communicate with IBM Websphere MQ. If the application uses IBM Websphere Application Server WMQ RA, then we can analyses the problem by enabling the JMS traces at the JVM level to determine the MQ related issue.

WebSphere Application Server V8.0 (all on one line):
WebSphere Application Server V7.0 (all on one line):

WebSphere Application Server V6.0 and 6.1 (all on one line):

The following IBM Technical link will help us to configure the JMS traces in different IBM WAS environment.

The following commands will help us to understand the IBM Websphere MQ connection count issue at the IBM Websphere MQ Server level.

amqldmpa -c K -d 8 -m <qmgr> -f <output file name> – To know about the complete Queue Manager connection Details

“UNIX95= ps -ef –o comm,user,pid,ppid,nice,stime,time,etime,vsz,sz,pcpu,args” – To know about the complete MQ Server process details to understand the IBM MQ Queue Manager memory issue

We can get the active channel count details for a particular queue manager using the following shell script

runmqsc $1 << EOF|grep -i “STATUS(“|wc -l

dis chs(*)



Save the above shell commands into file and execute the shell program as below.

$./ <Queue Manager Name>

This command will give the total active connection to the queue manager. If we see the number of channel count increase day by day then we can conclude that, there might be issue with the IBM MQ client programs.

Upgrading WMQ Resource Adaptor in IBM Websphere Application Server (i.e. MQ Client)

Once the MQ communication problem has been diagnosed and concluded to upgrade the IBM WAS WMQ RA, then we need to follow the below steps.

  1. IBM Websphere Application Server WMQ RA can be upgraded into next level (say , in two ways.
    1. Upgrade the “JMS Providers -> Websphere MQ messaging provider” RA at the node level using the IBM WAS admin console.  This approach gives us the flexibility to upgrade the RA version into the desired level based on the WMQ rar file version what we have in our hand.
    2. Upgrade the RA using the Jython script. This upgrade the WMQ RA into the IBM WAS fixes pack level WMQ RA version which comes along the IBM WAS Fix pack version.  The following link will give us the required information to upgrade the WMQ RA using Jython.

  1. The existing WMQ RA file implementation needs to be backed up before we start the upgrade activity. The WMQ RA file contents are stored under profile path $WAS_HOME/WebSphere/AppServer/profiles/AppSrv01/installedConnectors.  The following step help us to create the rar file from the deployed rar content to back up the existing WMQ RA implementation for the backup purpose as IBM Don’t provide the  backup stetegy to revert back to the older WMQ RA state.
  2. $WAS_HOME/WebSphere/AppServer/profiles/AppSrv01/installedConnectors/wmq.jmsra.rar$zip mq_resource_adaptor_bck.rar .

    We need to go inside the” wmq.jmsra.rar” directory and zip the file content, if we try to zip the “wmq.jmsra.rar” directory, then we may see ra.xml file not found exception while deploying the backup mq_resource_adaptor_bck.rar file.

  3. If we use the IBM WAS admin console to upgrade the WMQ RA, then this can be done at the node level, as the update option available only to node level “JMS Providers -> Websphere MQ messaging provider” RA.
  4. Once the WMQ Resource Adaptor upgrade activity completed, then we can see the latest WMQ Resource Adaptor implementation version in the JVM startup log as below. This indicates that the JVM run time is loaded with the latest WMQ Resource Adaptor.

SystemOut.log:[4/24/12 17:10:47:373 EDT] 0000000a JMSRegistrati I   WMSG1703I: RAR implementation version

Resources Link:


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


%d bloggers like this: