Ensuring that servers use the latest available WebSphere MQ resource adapter maintenance level

To ensure that the WebSphere® MQ resource adapter is automatically updated to the latest available maintenance level when you apply WebSphere Application Server fix packs, you can configure all servers in your environment to use the latest version of the resource adapter contained in the WebSphere Application Server fix pack that you have applied to the installation of each node.

Before you begin

Updates to the WebSphere MQ resource adapter that is installed with WebSphere Application Server are included in WebSphere Application Server Fix Packs. You must only update the WebSphere MQ resource adapter using the "Update resource adapter facility if you require a specific version of the resource adapter, instead of the most recent version. To install a specific version of the resource adapter, see Installing a specific maintenance level of the WebSphere MQ resource adapter.

You can use the following Jython and Jacl commands to determine the level of the WebSphere MQ resource adapter currently being used by WebSphere Application Server:
  • Jython:
    Note: You must press Return twice after entering this command in order to run it.
    wmqInfoMBeansUnsplit = AdminControl.queryNames("WebSphere:type=WMQInfo,*")
    wmqInfoMBeansSplit = AdminUtilities.convertToList(wmqInfoMBeansUnsplit)
    for wmqInfoMBean in wmqInfoMBeansSplit: print wmqInfoMBean; print AdminControl.invoke(wmqInfoMBean, 'getInfo', '')
  • Jacl:
    set wmqInfoMBeans [$AdminControl queryNames WebSphere:type=WMQInfo,*]
    foreach wmqInfoMBean $wmqInfoMBeans {
    puts $wmqInfoMBean;
    puts [$AdminControl invoke $wmqInfoMBean getInfo [] []]
    }

About this task

Use this task if any of the following circumstances apply to your configuration, and you want to configure all servers in your environment to use the latest version of the WebSphere MQ resource adapter:
  • The JVM logs of any application server in your environment contain the following entry:
    WMSG1625E: It was not possible to detect
    the WebSphere MQ messaging provider code at the specified path <null>
    
  • One or more nodes has previously been manually updated to use a specific maintenance level of the WebSphere MQ resource adapter that is now superseded by the latest version of the resource adapter contained in the current WebSphere Application Server maintenance level.

When you have performed the following steps for all cells and single server installations in your environment, your servers will automatically receive maintenance to the WebSphere MQ resource adapter when a new WebSphere Application Server fix pack is applied.

Procedure

  1. Start the application server.
  2. Copy the following Jython script into a file called convertWMQRA.py, then save it into the profile_root/bin directory.
    ras = AdminUtilities.convertToList(AdminConfig.list('J2CResourceAdapter'))
    
    for ra in ras :
       desc = AdminConfig.showAttribute(ra, "description")
       if ((desc == "WAS 7.0 Built In WebSphere MQ Resource Adapter") or 
          (desc == "WAS 7.0.0.1 Built In WebSphere MQ Resource Adapter") or 
          (desc == "WAS Built In WebSphere MQ Resource Adapter")):
          print "Updating archivePath and classpath of " + ra
          AdminConfig.modify(ra, [['archivePath', "${WAS_INSTALL_ROOT}/installedConnectors/wmq.jmsra.rar"]])
          AdminConfig.unsetAttributes(ra, ['classpath'])
          AdminConfig.modify(ra, [['classpath', "${WAS_INSTALL_ROOT}/installedConnectors/wmq.jmsra.rar"]])
          AdminConfig.save()
       #end if
    #end for
  3. Use the wsadmin tool to run the Jython script that you have just created.
    Open a command prompt and navigate to the profile_root/bin directory, then enter the following command:
    wsadmin -lang jython -f convertWMQRA.py
  4. Stop all servers in the profile.
  5. Run the osgiCfgInit command from the profile_root/bin directory.
    Note: The osgiCfgInit command resets the class cache used by the OSGi runtime environment.
  6. Restart all servers in the profile.

What to do next

If you continue to experience problems after performing the steps described in this topic, and you have previously used the Update resource adapter... button on the JMS Provider Settings panel in the administrative console to update the WebSphere MQ resource adapter on any nodes in your environment, it is possible that you are experiencing the issue described in APAR PM10308.