Connecting applications in a multiple installation environment
On UNIX, Linux®, and Windows systems, if IBM® WebSphere® MQ Version 7.1, or later, libraries are loaded, IBM WebSphere MQ automatically uses the appropriate libraries without you needing to take any further action. IBM WebSphere MQ uses libraries from the installation associated with the queue manager that the application connects to.
- Linking
- When the application is compiled, the application is linked to the IBM WebSphere MQ libraries to get the function exports that are then loaded when the application runs.
- Loading
- When the application is run, the IBM WebSphere MQ libraries are located and loaded. The specific mechanism used to locate the libraries varies by operating system, and by how the application is built. For more information about how to locate and load libraries in a multiple installation environment, see Loading IBM WebSphere MQ Version 7.1 or later libraries.
- Connecting
- When the application connects to a running queue manager, for
example, using a
MQCONN
orMQCONNX
call, it connects using the loaded IBM WebSphere MQ libraries.
- When the setmqm command is used to change the installation associated with a queue manager, the libraries that need to be loaded change.
- When an application connects to multiple queue managers that are owned by different installations, multiple sets of libraries need to be loaded.
However, if IBM WebSphere MQ Version 7.1, or later, libraries, are located and loaded, IBM WebSphere MQ then loads and uses the appropriate libraries without you needing to take any further action. When the application connects to a queue manager, IBM WebSphere MQ loads libraries from the installation that the queue manager is associated with.
Installation0
),
and a version 7.1 installation (Installation1
). Two
applications are connected to these installations, but they load different
library versions.Application 1
directly loads a version 7.0.1 library.
When application 1
connects to QM2
,
the version 7.0.1 libraries are used . If application 1
attempts
to connect to QM1
, or if QM2
is
associated with Installation1
, application
1
fails with a 2059 (080B) (RC2059): MQRC_Q_MGR_NOT_AVAILABLE error.
The application fails because the version 7.0.1 library is not capable
of loading other library versions. That is, if version 7.0.1 libraries
are directly loaded, you cannot use a queue manager associated with
an installation at a later version of IBM WebSphere MQ.
Application 2
directly loads a version 7.1 library.
When application 2
connects to QM2
,
the version 7.1 library then loads and uses the version 7.0.1 library.
If application 2
connects to QM1
,
or if QM2
is associated with Installation1
,
the version 7.1 library is loaded, and the application works as expected.
Migration scenarios and connecting applications with multiple installations is considered in more detail in Multi-installation queue manager coexistence on UNIX, Linux, and Windows.
For more information about how to load IBM WebSphere MQ Version 7.1 libraries, see Loading IBM WebSphere MQ Version 7.1 or later libraries.
Support and restrictions
- The C server libraries
- The C++ server libraries
- The XA server libraries
- The COBOL server libraries
- The COM+ server libraries
- .NET in unmanaged mode
There are a number of restrictions for applications using multiple installations. For more information, see Restrictions for applications using multiple installations.