2.6.1 メッセージの受信制御
アプリケーションが複数のメッセージを受信するとき,メッセージの受信順序はプライオリティ,FIFOおよびメッセージセレクタによって決定されます。
-
送信側アプリケーションがQueueSender.setPriority()またはsend()メソッドで設定したプライオリティの高い順で,受信側アプリケーションはメッセージを受信します。同じプライオリティのメッセージはFIFOでの順序で受信します。
-
送信側アプリケーションがすべてのメッセージにプライオリティを設定しなかった場合,またはすべてのメッセージに同じプライオリティを設定した場合,受信側アプリケーションは,メッセージが送信またはコミットされた順序で受信します。
ただし,送信側アプリケーションが複数のスレッドから同時に同じキューにメッセージを送信した場合,メッセージを受信する順序は保証されません。
-
受信側アプリケーションがメッセージセレクタを指定すると,キューに登録されたメッセージの中から,特定の条件に合うメッセージだけを受信できます。複数のメッセージが条件に合う場合は,プライオリティでの順序またはFIFOでの順序でメッセージを受信できます。
メッセージセレクタについては,「2.6.2 メッセージセレクタ」を参照してください。