Migrating your existing applications to use shared queues

Migrating your existing queues to shared queues is described in the WebSphere MQ for z/OS System Administration Guide.

When you migrate your existing applications, consider the following things, which might work in a different way in the shared queue environment:

Reason Codes
When you migrate your existing applications to use shared queues, check for the new reason codes that can be issued.
Triggering
If you are using a shared application queue, triggering works on committed messages only (on a non-shared application queue, triggering works on all messages).

If you use triggering to start applications, you might want to use a shared initiation queue. Table 12 describes what you need to consider when deciding which type of initiation queue to use.

Table 12. When to use a shared-initiation queue
Non-shared application queue Shared application queue
Non-shared initiation queue As for previous releases. If you use a trigger type of FIRST or DEPTH, you can use a non-shared initiation queue with a shared application queue. Extra trigger messages might be generated, but this setup is good for triggering long-running applications (like the CICS(R) bridge) and provides high availability.

For trigger type FIRST or DEPTH, a trigger message triggers an instance of the application on every queue manager that is running a trigger monitor and that does not already have the application queue open for input. One trigger message is generated for every queue manager; if there is more than one trigger monitor running against the non-shared local initiation queue, on a given queue manager, they will compete to process the message.

Shared initiation queue Do not use a shared initiation queue with a non-shared application queue. If you have a shared application queue that has a trigger type of EVERY, use a shared initiation queue or you will lose trigger messages.

For trigger type FIRST or DEPTH, one trigger message is generated by each queue manager that has the named initiation queue open for input.

MQINQ
When you use the MQINQ call to display information about a shared queue, the values of the number of MQOPEN calls that have the queue open for input and output relate only to the queue manager that issued the call. No information is produced about other queue managers in the queue-sharing group that have the queue open.