You can configure the MQInput node to receive messages that are in a WebSphere® MQ message group.
To ensure that your message flow receives group messages in the order that has been assigned by the sending application, select Logical order. If you do not select this option, messages that are sent as part of a group are not received in a predetermined order. This property maps to the MQGMO_LOGICAL_ORDER option of the MQGMO of the MQI. More information about the options to which this property maps is available in the Application Programming Reference section of the WebSphere MQ Version 7 product documentation online.
If you specify a value of By Queue Order on the Order mode property, the message flow processes the messages in the group in the order that is defined by the queue attributes; this order is guaranteed to be preserved when the messages are processed. This behavior is identical to the behavior that is exhibited if the Additional instances property is set to zero. The message flow processes the messages on a single thread of execution, and a message is processed to completion before the next message is retrieved from the queue. If you do not specify this value, it is possible that multiple threads within a single message flow are processing multiple messages, and the final message in a group, which prompts the commit or roll back action, is not guaranteed to be processed to completion after all other messages in the group.
To ensure that only a single instance of the message flow processes the group messages in the order that has been assigned by the sending application, select Logical order and specify a value of By Queue Order on the Order mode property.
If you select All messages available, message retrieval and processing is performed only when all messages in a single group are available. This means that messages in a group are not received until all the messages in the group are present on the input queue. It is good practice to select this check box when your message flow needs to process group messages. If you do not select this check box, the message flow receives the messages as they arrive on the input queue; if a message in the group fails to arrive on the input queue, the message flow waits for it and cannot process any further messages until this message arrives. This property maps to the MQGMO_ALL_MESSAGES_AVAILABLE option of the MQGMO of the MQI. More information about the options to which this property maps is available in the Application Programming Reference section of the WebSphere MQ Version 7 product documentation online.
If you select Commit by message group, message processing is committed only after the final message of a group has been received and processed. If you leave this check box cleared, a commit is performed after each message has been propagated completely through the message flow. This property is relevant only if you have selected Logical order. It is good practice to select this check box together with the All messages available check box because this ensures that the complete message group is retrieved and processed in the same unit of work without risk of the message flow waiting indefinitely for messages in the group to arrive on the input queue.
If a message flow waits for a group message that does not arrive within the wait interval, a BIP2675 warning message is issued. From that point on, the message flow always attempts to retrieve the next group message and does not process any other input messages until the next group message is received.
Therefore, if the expected group message does not arrive, or has expired, the message flow must be stopped manually, and any incomplete message group cleared from the input queue.
A message flow cannot receive all the messages in a group in one operation.
If you specify a value of Yes or No on the Transaction mode property, all the segments in a message are received in the message flow as a single message. As a result, the message flow might receive very large messages which might lead to storage problems in the broker. If you specify a value of Automatic on the Transaction mode property, message segments are received as individual messages.