Migrating IBM MQ library loading from an earlier version of the product to the latest version

No change in the way IBM® MQ libraries are loaded is normally required if you upgrade from an earlier version of the product to the latest version. You must have followed the instructions on building IBM MQ applications in Version 7.0.1 and you must replace IBM WebSphere® MQ 7.0.1 with the latest version of the product. If you choose to take advantage of multi-installation in the latest version of the product, based on the side-by-side or multi-stage migration scenarios, you must modify the environment for the operating system to resolve IBM MQ dependencies for an application. Typically, you can modify the runtime environment, rather than relink the application.

Before you begin

To migrate applications from an earlier version of the product to the latest version, you must know how the operating system loads a IBM MQ library for an application. Is the load path fixed by the application, and can you set the path in an environment variable? It is not essential to know the name of the IBM MQ library that the application loads. The library name does not change from an earlier version of the product to the latest version, although the contents of the library do.

About this task

To migrate an application from an earlier version of the product to the latest version, you do not have to recompile or relink the application, because the IBM MQ libraries are compatible with later versions; see Application compatibility and interoperability with later versions of IBM MQ. You might have to configure the runtime environment differently, for the operating system to load the latest version of the IBM MQ library. If you replaced an earlier version of the product with the latestversion, following the Single-stage approach; you do not need to do anything at all; see UNIX, Linux, and Windows: Single-stage migration to a later version 1 .

The latest version of the product provides two commands to assist you in configuring the runtime environment, setmqinst and setmqenv. setmqinst sets the primary installation; see setmqinst. setmqenv initializes the command environment by setting environment variables; see setmqenv.

Procedure

How you configure the runtime environment depends on a number of factors, some of which apply to your configuration. Consider which of the following questions apply to your configuration.

  1. Did you follow the build procedure documented in the product documentation for the earlier version of the product?

    You might be following a different build procedure tailored to your development environment, or adapted from a development tool such as Microsoft Visual Studio.

  2. How did you specify the load path for the earlier version?
  3. Is the application is loaded by another environment, such as Eclipse, or an application server?

    You must modify the parameters that govern how the parent environment loads applications, not the way the parent environment is loaded.

  4. Is the configuration for Windows, or UNIX and Linux® ?

    On Windows, the functions performed by an application might require that the queue manager it connects to is associated with the primary installation.

  5. What constraints and requirements do you have on how the load path is specified in the latest version?

    Security rules might restrict the use of LD_LIBRARY_PATH.

  6. Is the latest version of the product installed alongside the earlier version?

    If Version 7.0.1 is installed:

    • You cannot make a later installation primary.
    • You cannot install the later version in the default installation path, that was referenced by applications in Version 7.0.1.

What to do next

Environment configuration on the Windows, and UNIX platforms is a little different. If you have followed the documented build procedure in the earlier version, look at Windows: Migrating IBM MQ library loading from Version 7.0.1, or later, to the latest version or UNIX: Migrating IBM MQ library loading from Version 7.0.1, or later, to the latest version. These topics show the effects of using setmqinst and setmqenv commands to configure the operating system environment for the three migration scenarios listed in Related information.

1 If you changed the location of the libraries from the earlier version, or created symbolic links to the libraries, this statement might not hold true.