Running your message flow

You can run your message flow by sending one or more messages through the flow.

About this task

The message flow receives a message in an input node. The input node parses the message bit stream using the specified parser, creating a broker message tree. The resulting message tree is propagated down the flow. When a TX Map node receives a propagated message tree, it runs the associated map and creates output messages.

If your map is expecting multiple inputs, use a Collector node to gather those inputs. In this case, you must send as many messages as are needed to complete the message collection that the Collector node defined.

The body of a message tree, propagated from an output terminal of a TX Map node, is owned by the message domain that you specified on the output terminal. Any headers present in the input message tree that the map received, such as MQMD, will be preserved into the propagated message tree, unchanged. If the map received a message collection as its input, the propagated headers will be those of the first message in the collection. Headers from other messages in the collection are discarded. The Environment, Local Environment and Exception List trees from the input message are also propagated, unchanged.

If a failure occurs when running a map, the failure is added to the Exception List, and the input message, Environment, Local Environment and Exception List are propagated from the failure terminal, if connected. Otherwise, an exception is thrown.

When the message tree reaches an output node, it is serialized into a bit stream by the owning parser.

You can override the name of the map to be run by a TX Map node, dynamically at run time, using the message flow's LocalEnvironment. See Overriding map properties at run time.

To run your message flow:

Procedure

  1. If your message flow has a TX Map node with a single input:
    1. Put a message on the queue.
    The TX Map node passes the message to the map, and the map writes it to the output.
  2. If your message flow has a Collector node:
    1. Put a message on the first queue.
    2. Put a message on the second queue.
    The Collector node passes both messages to the map, and the map writes them to the output.