[UNIX, Linux, Windows, IBM i]

Applications, application names, and application instances

Before you start to design and write your applications, familiarize yourself with the basic concepts of applications, application names, and application instances.

[UNIX, Linux, Windows, IBM i]

Applications

Connections to a queue manager are considered to be from the same application if they provide the same application name. The application name is displayed as the APPLTAG attribute of the DISPLAY CONN(*) TYPE CONN command.
Notes:
  1. For applications using a version of the IBM® MQ client earlier than IBM MQ 9.1.2, the application name is automatically set by the IBM MQ client. Its value depends on the application programming language, and the platform the application is running on. See PutApplName for more information.
  2. [MQ 9.2.0 Jul 2020]For IBM MQ client applications using an IBM MQ client at IBM MQ 9.1.2 or later, it is possible to set the application name to a specific value. In most cases, this does not require changes to application code or a need to recompile the application. See Using the application name in supported programming languages for further information.
[UNIX, Linux, Windows, IBM i]

Application instances

Connections are further subdivided into application instances. An instance of an application is a set of closely related connections which provide one ‘unit of execution’ for that application. Typically, this is a single operating system process, which can have a number of threads and associated IBM MQ connections.

On IBM MQ for Multiplatforms an application instance is associated with a specific Connection Tag. The queue manager automatically associates new connections with an existing application instance, when it can see that they are related.
Notes:
  • If using client connections, these processes might connect to the queue manager over one or more running channels.
  • In JMS applications, an application instance maps to a specific JMS connection and all associated JMS sessions.

Application instances are particularly important on IBM MQ for Multiplatforms when using uniform cluster automatic application balancing. On IBM MQ for Multiplatforms platforms, you can view currently connected application instances using the DISPLAY APSTATUS command.

In some cases, the queue manager cannot correctly perform connection to application instance association, in particular:
  • If multiple connections are made on a shared conversation from the same process, using different application names.
  • If older level client libraries are in use. For example, IBM MQ JMS client installations at IBM MQ 9.1.2 and earlier.

In these situations, if the applications do not define themselves as reconnectable, this will be permitted, but some of the application instance groupings might be incorrect. If any of the connections are declared as MQCNO_RECONNECT then this significantly negatively affects application balancing; the MQCONN call will, therefore, be rejected with MQCNO_RECONNECT_INCOMPATIBLE.