Applications, application names, and application instances

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


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 Version 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. For IBM MQ client applications using an IBM MQ client at Version 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 Use the application name in supported programming languages for further information.


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, we 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 Version 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.

Parent topic: Application development concepts


Related concepts