What is installed for IBM WebSphere MQ classes for JMS

A number of files and directories are created when you install IBM® WebSphere® MQ classes for JMS. On Windows some configuration is performed during installation by automatically setting environment variables. On other platforms, and in certain Windows environments, you must set environment variables before you can run IBM WebSphere MQ classes for JMS applications.

For most operating systems, the IBM WebSphere MQ classes for JMS are installed as an optional component when you install IBM WebSphere MQ. For the IBM WebSphere MQ client for HP Integrity NonStop Server, the IBM WebSphere MQ classes for JMS are installed by default. For more information about installing IBM WebSphere MQ, see:

Table 1 shows where the IBM WebSphere MQ classes for JMS files are installed on each platform.

Table 1. IBM WebSphere MQ classes for JMS installation directories
Platform Directory
AIX® MQ_INSTALLATION_PATH/java
HP Integrity NonStop Server MQ_INSTALLATION_PATH/opt/mqm/java
HP-UX, Linux®, and Solaris MQ_INSTALLATION_PATH/java
Windows MQ_INSTALLATION_PATH\java

MQ_INSTALLATION_PATH represents the high-level directory in which IBM WebSphere MQ is installed.

The installation directory includes:
  • The IBM WebSphere MQ classes for JMS JAR files, which are located in the MQ_INSTALLATION_PATH\java\lib directory.
  • The IBM WebSphere MQ native libraries, which are used by applications that use the Java Native Interface.

    The 32-bit native libraries are installed into the MQ_INSTALLATION_PATH\java\lib directory and the 64-bit native libraries can be found in the MQ_INSTALLATION_PATH\java\lib64 directory.

    For more information about the IBM WebSphere MQ native libraries, see Configuring the Java Native Interface (JNI) libraries.

  • Additional scripts described in Scripts provided with WebSphere MQ classes for JMS. These scripts are located in the MQ_INSTALLATION_PATH\java\bin directory.
  • The specifications of the IBM WebSphere MQ classes for JMS API. The Javadoc tool has been used to generate the HTML pages containing the specifications of the API.

    The HTML pages are in the MQ_INSTALLATION_PATH\java\doc\WMQJMSClasses directory.

    On UNIX, Linux, and Windows systems, this subdirectory contains the individual HTML pages.

  • Support for OGSi. OSGi bundles are installed in the java\lib\OSGi directory and described in Support for OSGi.
  • The IBM WebSphere MQ Resource Adapter, which can be deployed into any JCA 1.5 (or later) compliant application server.

    The IBM WebSphere MQ Resource Adapter is located in the MQ_INSTALLATION_PATH\java\lib\jca directory; for further information, see The IBM WebSphere MQ resource adapter

  • On Windows, symbols that can be used for debugging are installed in the MQ_INSTALLATION_PATH\java\lib\symbols directory.
The installation directory also includes some files that belong to other IBM WebSphere MQ components. These directories are as follows:
  • The IBM WebSphere MQ transport for SOAP, which provides a JMS transport for SOAP, is installed into the MQ_INSTALLATION_PATH\java\lib\soap directory. For further information on IBM WebSphere MQ transport for SOAP, see the section of the infocenter describing WebSphere MQ transport for SOAP.
  • On distributed platforms, the IBM WebSphere MQ Bridge for HTTP is installed in the MQ_INSTALLATION_PATH\java\lib\http directory. For further information on IBM WebSphere MQ bridge for HTTP, see the section of the infocenter describing WebSphere MQ bridge for HTTP

Some sample applications are supplied with IBM WebSphere MQ classes for JMS. Table 2 shows where the sample applications are installed on each platform.

Table 2. Samples directories
Platform Directory
AIX MQ_INSTALLATION_PATH/samp/jms
HP Integrity NonStop Server MQ_INSTALLATION_PATH/opt/mqm/samp/jms
HP-UX, Linux, and Solaris MQ_INSTALLATION_PATH/samp/jms
Windows MQ_INSTALLATION_PATH\tools\jms

MQ_INSTALLATION_PATH represents the high-level directory in which IBM WebSphere MQ is installed.

After installation, you might need to perform some configuration tasks to compile and run applications.

Environment variables used by IBM WebSphere MQ classes for JMS describes the classpath required to run simple IBM WebSphere MQ classes for JMS applications. This topic also describes additional JAR files that need to be referenced in special circumstances and the environment variables that you must set to run the scripts provided with IBM WebSphere MQ classes for JMS.

Should you need your IBM WebSphere MQ classes for JMS application to link to code written in languages other than Java (for example, to use the bindings transport when connecting to a Queue Manager), Configuring the Java Native Interface (JNI) libraries explains where to find the location of the Java Native Interface (JNI) libraries to specify as a parameter of the Java command.

To control properties, such as tracing and logging of an application, you need to provide a configuration properties file. The IBM WebSphere MQ classes for JMS configuration properties file is described in The IBM WebSphere MQ classes for JMS configuration file.

Installing and upgrading the WebSphere MQ classes for JMS JAR files
The only supported way to get the IBM WebSphere MQ classes for JMS JAR files onto a system, is to install either the IBM WebSphere MQ product, or the WebSphere MQ V7.5 Clients SupportPac- MQC75, or by using a software management tool such as Apache Maven, for more information see IBM WebSphere MQ classes for JMS and software management tools.
Do not move, or copy, the IBM WebSphere MQ classes for JMS JAR files or native libraries, to other machines, or to a different location on a machine where the IBM WebSphere MQ classes for JMS have been installed, unless you are using a software management tool.
  • Fix packs cannot be applied to an "installation" where JAR files have been copied from another machine, because this makes it much more difficult to ensure that all the JAR files are kept in step with each other, and are at compatible levels.
  • Copying the IBM WebSphere MQ classes for JMS JAR files between machines can also result in multiple copies of the files residing on the same machine, which can cause problems servicing the code, and debugging problems.
  • The dspmqver command, used to display version information from an IBM WebSphere MQ installation, only displays version information for the IBM WebSphere MQ classes for JMS installed into the \java\lib directory.

    If multiple copies of the files reside on the same machine, running dspmqver might not give accurate information about the version of the IBM WebSphere MQ classes for JMS being used by an application.

Do not include the IBM WebSphere MQ classes for JMS JAR files within application archives (such as enterprise application archives, or EAR files).
  • Updates to the IBM WebSphere MQ classes for JMS cannot be applied using an IBM WebSphere MQ Fix Pack.
  • It is not be possible for IBM Support to easily determine the version of the IBM WebSphere MQ classes for JMS that are being used by the application.
  • Problems can arise if multiple applications running inside the same Java Runtime Environment include different versions of the IBM WebSphere MQ classes for JMS, as multiple versions of the IBM WebSphere MQ classes for JMS are loaded into the Java Runtime Environment at the same time.
    Examples of these problems include the following exceptions:
    java.lang.ClassCastException : 
    com.ibm.mq.jmqi.system.JmqiSystemEnvironment incompatible with 
    com.ibm.mq.jmqi.system.JmqiSystemEnvironment
    
    java.lang.ClassCastException : 
    com.ibm.mq.jms.MQQueue incompatible with com.ibm.mq.jms.MQQueue
  • If an application uses the BINDINGS transport to connect to a queue manager, any major upgrades to the queue manager also require the application to be updated to include the corresponding level of the IBM WebSphere MQ classes for JMS.

    For example, if a queue manager is upgraded to the IBM WebSphere MQ Version 7.5 level, any applications that connect to the queue manager using the BINDINGS transport also need to be updated to include the IBM WebSphere MQ Version 7.5 classes for JMS.