Activities and operations

Activities are discrete actions that an application performs on behalf of a message. Activities consist of operations, which are single pieces of work that an application performs.

The following actions are examples of activities:

  • A message channel agent (MCA) sends a message from a transmission queue down a channel
  • An MCA receives a message from a channel and puts it on its target queue
  • An application getting a message from a queue, and putting a reply message in response.
  • The IBM MQ publish/subscribe engine processes a message.
Activities consist of one or more operations. Operations are single pieces of work that an application performs. For example, the activity of an MCA sending a message from a transmission queue down a channel consists of the following operations:
  1. Get a message from a transmission queue (a Get operation).
  2. Sending the message down a channel (a Send operation).
In a publish/subscribe network, the activity of the IBM MQ publish/subscribe engine processing a message can consist of the following multiple operations:
  1. Putting a message to a topic string (a Put operation).
  2. Zero or more operations for each of the subscribers that are considered for receipt of the message (a Publish operation, a Discarded Publish operation or an Excluded Publish operation).


Information from activities

We can identify the sequence of activities performed on a message by recording information as the message is routed through a queue manager network. We can determine the route of a message through the queue manager network from the sequence of activities performed on the message, and can obtain the following information:

    The last known location of a message
    If a message does not reach its intended destination, we can determine the last known location of the message from a complete or partial message route.

    Configuration issues with a queue manager network
    When studying the route of a message through a queue manager network, you might see that the message has not gone where expected. There are many reasons why this can occur, for example, if a channel is inactive, the message might take an alternative route.

    For a publish/subscribe application, we can also determine the route of a message being published to a topic and any messages that flow in a queue manager network as a result of being published to subscribers.

    In such situations, a system administrator can determine whether there are any problems in the queue manager network, and if appropriate, correct them.


Message routes

Depending on your reason for determining a message route, we can use the following general approaches:

    Use activity information recorded for a trace-route message
    Trace-route messages record activity information for a specific purpose. We can use them to determine configuration issues with a queue manager network, or to determine the last known location of a message. If a trace-route message is generated to determine the last known location of a message that did not reach its intended destination, it can mimic the original message. This gives the trace-route message the greatest chance of following the route taken by the original message.

    The IBM MQ display route application can generate trace-route messages.

    Use activity information recorded for the original message
    We can enable any message for activity recording and have activity information recorded on its behalf. If a message does not reach its intended destination, we can use the recorded activity information to determine the last known location of the message. By using activity information from the original message, the most accurate possible message route can be determined, leading to the last known location. To use this approach, the original message must be enabled for activity recording. Warning: Avoid enabling all messages in a queue manager network for activity recording. Messages enabled for activity recording can have many activity reports generated on their behalf. If every message in a queue manager network is enabled for activity recording, the queue manager network traffic can increase to an unacceptable level.