Configure 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.
If we 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 containing the IBM MQ native libraries, in a subdirectory of java/lib or java/lib64 depending on whether we are using 32 bit or 64 bit native libraries. For example, on Linux specify...
./launchClient.sh myappclient.ear -CCDMQ_INSTALL_ROOT=/opt/mqm/
If we are running in an application server environment, we can configure the IBM MQ messaging provider with native path information using the command line, as described in WMQAdminCommands, or we can use the administrative console to complete the following steps:
If we use a non-IBM Java Development Kit (JDK), update the java.library.path custom property directly. We cannot make direct updates with the IBM 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 we use the administrative console to reference the paths.
(AIX) Note: If the application server is 64 bit, 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. See Implications of a 64-bit queue manager in the Quick Beginnings for AIX section of the IBM MQ information center.
Tasks
- In the navigation pane, expand...
Resources > JMS > JMS providers
- 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.
- 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.
(ZOS) Note: When using IBM MQ messaging provider connection factories or activation specifications that create bindings mode connections to an 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 information center.
- Under General Properties, in the Native library path property, enter the full name of the directory containing the IBM MQ native libraries. For example, on Linux enter...
/opt/mqm/java/lib
Enter only one directory name.
- Click OK.
- Save any changes to the master configuration.
- If we are running in an application server environment, we must restart all affected servers twice when we have changed the native path information. If we 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 we are running in a client environment, we must rerun the client program twice. Otherwise, a WMSG2013E message is produced.
Whichever environment we are running in, until we 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, we can also specify native path information, when in an application server environment, by setting the MQ_INSTALL_ROOT WAS environment variable. See following topic in the WAS v6.1 information center: Install IBM MQ to interoperate with WAS (v6.1).
Related:
Interoperation using the IBM MQ messaging provider Configure JMS resources for the IBM messaging provider