概要
S2JMS-Coreは,JMSメッセージを容易に送受信するためのコンポーネントを提供します. 主なコンポーネントは次の二つです.
- MessageSender
- JMSメッセージを送信する場合に使用するコンポーネントです.
- MessageReceiver
- JMSメッセージを受信する場合に使用するコンポーネントです.
MessageSender
MessageSender
は、JMSメッセージを送信するコンポーネントです。
送信するJMSメッセージを容易に作成するために次のメソッドを使用することができます。
send(byte[] bytes)
-
引数で指定されたバイト列をペイロードデータとする
BytesMessage
を作成して送信します。 send(Map<String, Object> map)
-
引数で指定された
Map
に含まれるマッピングをペイロードデータとするMapMessage
を作成して送信します。 send(Serializable object)
-
引数で指定されたオブジェクトをペイロードデータとする
ObjectMessage
を作成して送信します。 send(String text)
-
引数で指定された文字列をペイロードデータとする
TextMessage
を作成して送信します。
JMSメッセージのプロパティを指定するには、次のメソッドを使用します。
send(byte[] bytes, Map<String,Object> properties)
send(Map<String,Object> map, Map<String,Object> properties)
send(Serializable object, Map<String,Object> properties)
send(String text, Map<String,Object> properties)
JMSメッセージのヘッダなど、送信するJMSメッセージを詳細に設定するには次のメソッドを使用します。
send(MessageFactory)
-
引数で指定された
MessageFactory
が作成したJMSメッセージを送信します。 send()
-
MessageSender
のプロパティに設定されたMessageFactory
が作成したJMSメッセージを送信します。
MessageReceiver
MessageReceiver
は、JMSメッセージを受信するコンポーネントです。
受信したメッセージを容易に処理するために次のメソッドを使用することができます。
receiveBytes()
-
受信した
BytesMessage
のペイロードデータであるバイト列を返します。 receiveMap()
-
受信した
MapMessage
のペイロードデータに含まれるマッピングを持つMap
を返します。 receiveObject()
-
受信した
ObjectMessage
のペイロードデータであるオブジェクトを返します。 receiveText()
-
受信した
TextMessage
のペイロードデータである文字列を返します。
受信したJMSメッセージを独自に処理するには次のメソッドを使用することができます。
receive(MessageHandler messageHandler)
-
引数で指定する
MessageHandler
により自由にJMSメッセージを処理することができます。 このメソッドはMessageHandler#handleMessage(Message)
の戻り値をそのまま返します。
受信したJMSメッセージをそのまま取得するには次のメソッドを使用することができます。
receive()
いずれのメソッドも、
JMSメッセージを受信するまでMessageReceiver
のtimeout
プロパティで指定された時間待機します。
timeout
プロパティに
正数が指定されると,JMSメッセージを受信するまで指定された時間待機します (ミリ秒単位)。
0が指定されると待機しません。
負数が指定されると無制限に待機します。
タイムアウトすると、MessageReceiver
のメソッドはnull
を返します。