インタフェース名/ | メソッド | サポート |
---|---|---|
MessageConsumer | close() | ○ |
getMessageListener() | ○ | |
getMessageSelector() | ○ | |
receive() | ○ | |
receive(long timeout) | ○(注1) | |
receiveNoWait() | ○(注2) | |
setMessageListener(MessageListener listener) | ○ | |
MessageListener | onMessage(Message message) | ○ |
MessageProducer | close() | ○ |
getDeliveryMode() | ○ | |
getDestination() | ○(注3) | |
getDisableMessageID() | ○ | |
getDisableMessageTimestamp() | ○ | |
getPriority() | ○ | |
getTimeToLive() | ○ | |
send(Destination destination, Message message) | ○(注3) | |
send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive) | ○(注3) | |
send(Message message) | ○(注3) | |
send(Message message, int deliveryMode, int priority, long timeToLive) | ○(注3) | |
setDeliveryMode(int deliveryMode) | ○(注4) | |
setDisableMessageID(boolean value) | ○ | |
setDisableMessageTimestamp(boolean value) | ○ | |
setPriority(int defaultPriority) | ○ | |
setTimeToLive(long timeToLive) | ○(注5) | |
ObjectMessage | getObject() | ○ |
setObject(java.io.Serializable object) | ○ |
○:サポート
×:未サポート
注1)イベントチャネルのメッセージの待ち合わせ時間に設定された間隔で、receive()メソッドで指定されたメッセージの受信タイムアウトをチェックします。したがって、受信タイムアウトは、以下のように復帰します。
「メッセージの待ち合わせ時間 ≧ receive()メソッドの設定値」の場合
受信タイムアウトは、「メッセージの待ち合わせ時間」に復帰します。
例)メッセージの待ち合わせ時間“40秒”、receive()メソッドの設定値“10秒”の場合:40秒
「メッセージの待ち合わせ時間 < receive()メソッドの設定値」の場合
受信タイムアウトは、「メッセージの待ち合わせ時間×チェック回数」に復帰します。
例)メッセージの待ち合わせ時間“40秒”、receive()メソッドの設定値“50秒”の場合:80秒(40秒 × 2回)
なお、メッセージの待ち合わせをほとんど行わない運用の場合、receive()メソッドではなく、receiveNoWait()メソッドを使用してメッセージの待ち合わせを行わない運用を検討してください。
注2)受信できるメッセージがない場合は、nullで即時に復帰します。
注3)JMS1.1規約で追加されました。
注4)イベントチャネルの配信モードおよび同一モードだけをサポートします。
注5)timeToLiveは、ミリ秒単位までサポートします。しかし、イベントチャネルのメッセージタイムアウト時間の精度は秒単位であるため、timeToLive値は最も近い値に丸められます。