10.3.1 優先度
メッセージをキューに登録するとき,アプリケーションは優先度を割り当てます。同じ優先度のメッセージはコミット順ではなく到着順でキューに登録されます。
キューマネジャは厳密なFIFO順,または優先度付きのFIFO順でキューを保持します。これはキューのMsgDeliverySequence属性で設定します。メッセージがキューに到着すると,同じ優先度の最終メッセージのあとに挿入されます。
アプリケーションは優先度を無視して,キューから最初のメッセージを取り出したり,特定メッセージを取り出したりできます。例えば,早期に送信した特定メッセージの応答を処理できます。詳細については,「10.4 特定メッセージの取り出し」を参照してください。
アプリケーションで一連のメッセージをキューに登録する場合,他アプリケーションから登録順と同じ順序で取り出せます。この場合,次に示す条件があります。
-
メッセージはすべて同じ優先度であること
-
メッセージはすべて同じトランザクション内で登録されたか,トランザクション外で登録されていること
-
登録元アプリケーションにとってのローカルキューであること
これらの条件が満たされないで,アプリケーションの取り出すメッセージに順序性が必要な場合には,メッセージデータ内に通番情報を取り込んだり,次メッセージの送信前に受信確認を送信したりするようにアプリケーションを作成してください。