|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface MessageReceiver
JMSメッセージを受信するコンポーネントのインタフェースです。
受信したメッセージを容易に処理するために次のメソッドを使用することができます。
これらのメソッドは受信したJMS標準メッセージ型のペイロードを戻り値として返します。受信したJMSメッセージを独自に処理するには次のメソッドを使用することができます。
引数で指定するMessageHandlerにより自由にJMSメッセージを処理することができます。
このメソッドはMessageHandler.handleMessage(MSGTYPE)の戻り値をそのまま返します。
受信したJMSメッセージをそのまま取得するには次のメソッドを使用することができます。
いずれの場合もタイムアウトした場合はnullを返します。
受信したメッセージはgetMessage()メソッドで取得することもできます.
受信したメッセージのJMSヘッダを以下のメソッドで取得することができます.
このコンポーネントはインスタンスモードPROTOTYPEで使われることを想定しており、スレッドセーフではありません。
| メソッドの概要 | ||
|---|---|---|
long |
getExpiration()
JMSメッセージの expiration
ヘッダの値を返します。 |
|
Message |
getMessage()
受信したJMSメッセージを返します。 |
|
String |
getMessageID()
JMSメッセージの messageID ヘッダの値を返します。 |
|
long |
getTimestamp()
JMSメッセージの timestamp ヘッダの値を返します。 |
|
Message |
receive()
JMSメッセージを受信してそのまま返します。 |
|
|
receive(MessageHandler<MSGTYPE,T> messageHandler)
JMSメッセージを受信して MessageHandlerが処理した結果を返します。 |
|
byte[] |
receiveBytes()
JMSの BytesMessageを受信してペイロード(メッセージボディ)をバイト配列として返します。 |
|
Map<String,Object> |
receiveMap()
JMSの MapMessageを受信してペイロード(メッセージボディ)をMapとして返します。 |
|
Serializable |
receiveObject()
JMSの ObjectMessageを受信してペイロード(メッセージボディ)をSerializableオブジェクトとして返します。 |
|
String |
receiveText()
JMSの TextMessageを受信してペイロード(メッセージボディ)を文字列として返します。 |
|
MessageReceiver |
setDurable(boolean durable)
JMSメッセージをデュラブル(継続的)に受信する場合は trueに設定します。 |
|
MessageReceiver |
setMessageSelector(String messageSelector)
受信するJMSメッセージを選択するためのメッセージセレクタを指定します。 |
|
MessageReceiver |
setNoLocal(boolean noLocal)
受信するJMSコネクションから送信されたJMSメッセージを受信しない場合は trueに設定します。 |
|
MessageReceiver |
setSubscriptionName(String subscriptionName)
JMSメッセージをデュラブル(継続的)に受信する場合のサブスクリプション名を設定します。 |
|
MessageReceiver |
setTimeout(long timeout)
JMSメッセージを受信するまで待機する時間をミリ秒単位で設定します。 |
|
| メソッドの詳細 |
|---|
MessageReceiver setTimeout(long timeout)
timeout < 0 の場合はJMSメッセージを受信するまで無制限に待機します。デフォルトです。
timeout > 0 場合はその時間だけ待機します。
timeout == 0 の場合は待機しません。
timeout - JMSメッセージを受信するまで待機する時間 (ミリ秒単位)
MessageReceiver setMessageSelector(String messageSelector)
Messageを参照してください。
messageSelector - 受信するJMSメッセージを選択するためのメッセージセレクタ
MessageReceiver setNoLocal(boolean noLocal)
trueに設定します。 デフォルトはfalseです。
JMSデスティネーションがトピックの場合にのみ有効です。
noLocal - 受信するJMSコネクションから送信されたJMSメッセージを受信しない場合はtrue、それ以外の場合はfalse
MessageReceiver setDurable(boolean durable)
trueに設定します。デフォルトはfalseです。
JMSデスティネーションがトピックの場合にのみ有効です。
durable - JMSメッセージをデュラブル(継続的)に受信する場合はtrue、それ以外の場合はfalse
MessageReceiver setSubscriptionName(String subscriptionName)
subscriptionName - JMSメッセージをデュラブル(継続的)に受信する場合のサブスクリプション名
byte[] receiveBytes()
BytesMessageを受信してペイロード(メッセージボディ)をバイト配列として返します。
BytesMessageのペイロードです。タイムアウトとした場合はnullを返します。
ClassCastException - 受信したJMSメッセージがBytesMessageではなかった場合にスローされます。String receiveText()
TextMessageを受信してペイロード(メッセージボディ)を文字列として返します。
TextMessageのペイロードです。タイムアウトとした場合はnullを返します。
ClassCastException - 受信したJMSメッセージがTextMessageではなかった場合にスローされます。Serializable receiveObject()
ObjectMessageを受信してペイロード(メッセージボディ)をSerializableオブジェクトとして返します。
ObjectMessageのペイロードです。タイムアウトとした場合はnullを返します。
ClassCastException - 受信したJMSメッセージがObjectMessageではなかった場合にスローされます。Map<String,Object> receiveMap()
MapMessageを受信してペイロード(メッセージボディ)をMapとして返します。
MapMessageのペイロードです。タイムアウトとした場合はnullを返します。
ClassCastException - 受信したJMSメッセージがMapMessageではなかった場合にスローされます。<MSGTYPE extends Message,T> T receive(MessageHandler<MSGTYPE,T> messageHandler)
MessageHandlerが処理した結果を返します。
MSGTYPE - JMSメッセージの型T - JMSメッセージを処理した結果の型messageHandler - 受信したメッセージを処理するMessageHandler
MessageHandlerが処理した結果です。タイムアウトとした場合はnullを返します。Message receive()
nullを返します。Message getMessage()
JMSメッセージを受信していない場合はnullを返します.
String getMessageID()
messageID ヘッダの値を返します。
messageIDヘッダの値
SJMSRuntimeException - JMS実装で例外が発生した場合にスローされます
EmptyRuntimeException - JMSメッセージを受信していない場合long getTimestamp()
timestamp ヘッダの値を返します。
timestampヘッダの値
SJMSRuntimeException - JMS実装で例外が発生した場合にスローされます
EmptyRuntimeException - JMSメッセージを受信していない場合long getExpiration()
expiration
ヘッダの値を返します。
expirationヘッダの値
SJMSRuntimeException - JMS実装で例外が発生した場合にスローされます
EmptyRuntimeException - JMSメッセージを受信していない場合
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||