|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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メッセージを受信していない場合
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |