MQOutput ノードは、WebSphere® MQ メッセージ・グループを形成する複数メッセージを送信できます。メッセージ・グループ・オプションを指定するために、Compute ノードを構成して MQMD フィールドを設定してください。
DECLARE MSGNUM INT 0; DECLARE MSGTOTAL INT 5; WHILE MSGNUM < MSGTOTAL DO SET MSGNUM = MSGNUM + 1; CALL CopyMessageHeaders(); -- Manually set the groupId since we cant ask the queue manager to generate one. -- the UUIDASBLOB function could be used here to generate one, but this must be done -- outside the loop to keep the same groupId throughout! SET OutputRoot.MQMD.GroupId = X'000000000000000000000000000000000000000000000001'; SET OutputRoot.MQMD.MsgSeqNumber = MSGNUM; SET OutputRoot.MQMD.MsgFlags = MQMF_MSG_IN_GROUP; IF (MSGNUM = MSGTOTAL) THEN SET OutputRoot.MQMD.MsgFlags = MQMF_LAST_MSG_IN_GROUP; END IF; SET OutputRoot.XML.TestCase = MSGNUM; PROPAGATE; END WHILE; RETURN FALSE;
メッセージ・フローが 1 つの入力メッセージから複数のメッセージを送信している場合、GroupId 値を作成し、MsgSeqNumber 値を増分し、MsgFlags フィールドを設定できます。この ESQL 例は、これを行う方法を示しています。しかし、メッセージ・フローが複数の入力メッセージから複数のメッセージを送信している場合には、フロー・インスタンス間で GroupId 値と MsgSeqNumber 値を保管する必要があります。共用変数を使用すると、これが可能です。
メッセージ・グループ化の詳細については、WebSphere MQ バージョン 6 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・ガイド」セクション、あるいは WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。メッセージ・グループ化で重要となる WebSphere MQ フィールドについての詳細は、WebSphere MQ バージョン 6 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・リファレンス」セクション、あるいは WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。