Configuring the IBM MQ messaging provider with native libraries information

To connect to an IBM MQ queue manager or queue-sharing group in bindings mode, the IBM MQ messaging provider needs to know where to load native libraries from. This information is known as native path information. The way native path information is set depends on whether the connection is established in an application client or in an application server environment.

About this task

If you are running in a client environment, use launchClient to start a client application. In the system property MQ_INSTALL_ROOT enter the name of a directory that contains the IBM MQ native libraries, in a subdirectory of java/lib or java/lib64 depending on whether you are using 32 bit or 64 bit native libraries. For example, on Linux® specify ./launchClient.sh myappclient.ear -CCDMQ_INSTALL_ROOT=/opt/mqm/.

If you are running in an application server environment, you can configure the IBM MQ messaging provider with native path information by using the command line, as described in WMQAdminCommands command documentation, or you can use the administrative console to complete the following steps:

Attention: If you use a non-IBM® Java™ Development Kit (JDK), update the java.library.path custom property directly. You cannot make direct updates with the WebSphere® MQ native library path dialogue box within the administration console. Make direct updates using the -Djava.library.path JVM argument. On AIX®, make direct updates with the LD_LIBRARY_PATH environment variable. Use the IBM JDK if you use the administrative console to reference the paths.
[AIX]Note: If your application server is 64 bit, you must run the dltmqlnk IBM MQ control command as root before applications are able to connect to a queue manager using a BINDINGS transport type. The command must be rerun each time an IBM MQ fix pack is installed. For more information, see the Implications of a 64-bit queue manager in the Quick Beginnings for AIX section of the IBM MQ documentation.

Procedure

  1. In the navigation pane, expand Resources > JMS > JMS providers.
  2. Select the IBM MQ messaging provider that is at the correct Scope for the connection factory or activation specification that will create the bindings mode connection.
    Note:
    • Native path information at Cluster scope is used in preference to native path information at Node and Cell scopes.
    • Native path information at Node scope is used in preference to native path information at Cell scope.
    [z/OS]Note: When using IBM MQ messaging provider connection factories or activation specifications that create bindings mode connections to a IBM MQ for z/OS® queue manager, ensure that the IDBACK parameter is large enough. Otherwise, MQExceptions with a completion code of 2, and a reason code of 2025 (MQRC_MAX_CONNS_LIMIT_REACHED) can occur. For more information on how to set the IDBACK parameter, refer to the description of the CSQ6SYSP macro in the IBM MQ documentation.
  3. Under General Properties, in the Native library path property, enter the full name of the directory that contains the IBM MQ native libraries.
    For example, on Linux enter /opt/mqm/java/lib. Enter only one directory name.
  4. Click OK.
  5. Save any changes to the master configuration.
  6. If you are running in an application server environment, you must restart all affected servers twice when you have changed the native path information.
    If you do not restart all of the affected servers twice, a WMSG1623E message is produced, indicating that the IBM MQ messaging provider is not available.

    If you are running in a client environment, you must rerun the client program twice. Otherwise, a WMSG2013E message is produced.

    Whichever environment you are running in, until you perform these restarts any attempt to use an IBM MQ messaging provider resource (for example, a connection factory) from one of the affected servers causes a javax.naming.NamingException and a WMSG2003E message.

What to do next

For migration purposes only, you can also specify native path information, when in an application server environment, by setting the MQ_INSTALL_ROOT WebSphere Application Server environment variable.