org.seasar.jms.core.impl
クラス MessageSenderImpl

java.lang.Object
  上位を拡張 org.seasar.jms.core.impl.MessageSenderImpl
すべての実装されたインタフェース:
MessageSender

public class MessageSenderImpl
extends Object
implements MessageSender

JMSメッセージを送信するコンポーネントの実装クラスです。

送信するJMSメッセージを容易に作成するために次のメソッドを使用することができます。

これらのメソッドは対応するJMS標準メッセージ型を作成し、引数をペイロードに設定して送信します。

送信するJMSメッセージを詳細に設定するには次のメソッドを使用することができます。

引数またはプロパティに設定するMessageFactoryにより自由にJMSメッセージを作成することができます。

送信したメッセージはgetMessage()メソッドで取得することができます. 送信したメッセージにJMS実装が設定するJMSヘッダを以下のメソッドで取得することができます.

このコンポーネントはインスタンスモードPROTOTYPEで使われることを想定しており、スレッドセーフではありません。

作成者:
koichik

フィールドの概要
protected  String correlationID
          JMSメッセージのヘッダに設定されるcorrelationID
protected  byte[] correlationIDAsBytes
          JMSメッセージのヘッダに設定されるcorrelationID
protected  int deliveryMode
          送信するJMSメッセージの配信モード
protected  DestinationFactory destinationFactory
          送信に使用するJMSデスティネーションのファクトリ
protected  boolean disableMessageID
          送信するJMSメッセージのメッセージIDを無効化する場合にtrue
protected  boolean disableMessageTimestamp
          送信するJMSメッセージのタイムスタンプを無効化する場合にtrue
protected  Message message
          送信したJMSメッセージ
protected  MessageFactory<?> messageFactory
          送信するJMSメッセージのファクトリ
protected  int priority
          送信するJMSメッセージの優先度
protected  Map<String,Object> properties
          JMSメッセージのプロパティに設定されるMap
protected  Destination replyTo
          JMSメッセージのヘッダに設定されるreplyTo
protected  SessionFactory sessionFactory
          送信に使用するJMSセッションのファクトリ
protected  long timeToLive
          送信するJMSメッセージの生存時間 (ミリ秒単位)
 
コンストラクタの概要
MessageSenderImpl()
          インスタンスを構築します。
 
メソッドの概要
 MessageSender addProperties(Map<String,Object> properties)
          指定されたMapに含まれるマッピングを全てプロパティとして設定します。
 MessageSender addProperty(String name, Object value)
          指定された名前を持つプロパティ値を設定します。
protected  MessageProducer createMessageProducer(Session session)
          プロパティの設定に基づいてMessageProducerを作成して返します。
 long getExpiration()
          送信したJMSメッセージのexpiration ヘッダの値を返します。
 Message getMessage()
          送信したJMSメッセージを返します。
 String getMessageID()
          送信したJMSメッセージのmessageID ヘッダの値を返します。
 long getTimestamp()
          送信したJMSメッセージのtimestamp ヘッダの値を返します。
 void send()
          実装クラスのプロパティに設定されたMessageFactoryが作成したJMSメッセージを送信します。
 void send(byte[] bytes)
          バイト配列をBytesMessageのペイロードに設定して送信します。
 void send(Map<String,Object> map)
          MapMapMessageのペイロードに設定して送信します。
 void send(MessageFactory messageFactory)
          MessageFactoryが作成したJMSメッセージを送信します。
 void send(Serializable object)
          SerializableオブジェクトをObjectMessageのペイロードに設定して送信します。
 void send(String text)
          文字列をTextMessageのペイロードに設定して送信します。
 MessageSender setCorrelationID(String correlationID)
          JMSメッセージのヘッダに設定されるcorrelationIDを文字列で設定します。
 MessageSender setCorrelationIDAsBytes(byte[] correlationIDAsBytes)
          correlationIDをバイト列で設定します。
 MessageSender setDeliveryMode(int deliveryMode)
          送信するJMSメッセージの配信モードを設定します。
 void setDestinationFactory(DestinationFactory destinationFactory)
          送信に使用するJMSデスティネーションのファクトリを設定します(必須)。
 MessageSender setDisableMessageID(boolean disableMessageID)
          送信するJMSメッセージのメッセージIDを無効化する場合にtrueを設定します。
 MessageSender setDisableMessageTimestamp(boolean disableMessageTimestamp)
          送信するJMSメッセージのタイムスタンプを無効化する場合にtrueを設定します。
 void setMessageFactory(MessageFactory<?> messageFactory)
          送信するJMSメッセージのファクトリを設定します。
 MessageSender setPriority(int priority)
          送信するJMSメッセージの優先度を指定します。
 MessageSender setReplyTo(Destination replyTo)
          replyToをバイト列で設定します。
 void setSessionFactory(SessionFactory sessionFactory)
          送信に使用するJMSセッションのファクトリを設定します(必須)。
 MessageSender setTimeToLive(long timeToLive)
          送信するJMSメッセージの生存時間をミリ秒単位で指定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

sessionFactory

protected SessionFactory sessionFactory
送信に使用するJMSセッションのファクトリ


destinationFactory

protected DestinationFactory destinationFactory
送信に使用するJMSデスティネーションのファクトリ


messageFactory

protected MessageFactory<?> messageFactory
送信するJMSメッセージのファクトリ


deliveryMode

protected int deliveryMode
送信するJMSメッセージの配信モード


priority

protected int priority
送信するJMSメッセージの優先度


timeToLive

protected long timeToLive
送信するJMSメッセージの生存時間 (ミリ秒単位)


disableMessageID

protected boolean disableMessageID
送信するJMSメッセージのメッセージIDを無効化する場合にtrue


disableMessageTimestamp

protected boolean disableMessageTimestamp
送信するJMSメッセージのタイムスタンプを無効化する場合にtrue


correlationID

protected String correlationID
JMSメッセージのヘッダに設定されるcorrelationID


correlationIDAsBytes

protected byte[] correlationIDAsBytes
JMSメッセージのヘッダに設定されるcorrelationID


replyTo

protected Destination replyTo
JMSメッセージのヘッダに設定されるreplyTo


properties

protected final Map<String,Object> properties
JMSメッセージのプロパティに設定されるMap


message

protected Message message
送信したJMSメッセージ

コンストラクタの詳細

MessageSenderImpl

public MessageSenderImpl()
インスタンスを構築します。

メソッドの詳細

setSessionFactory

public void setSessionFactory(SessionFactory sessionFactory)
送信に使用するJMSセッションのファクトリを設定します(必須)。

パラメータ:
sessionFactory - JMSセッションファクトリ

setDestinationFactory

public void setDestinationFactory(DestinationFactory destinationFactory)
送信に使用するJMSデスティネーションのファクトリを設定します(必須)。

パラメータ:
destinationFactory - JMSデスティネーションファクトリ

setMessageFactory

public void setMessageFactory(MessageFactory<?> messageFactory)
送信するJMSメッセージのファクトリを設定します。

パラメータ:
messageFactory - JMSメッセージのファクトリ

setDeliveryMode

public MessageSender setDeliveryMode(int deliveryMode)
インタフェース MessageSender の記述:
送信するJMSメッセージの配信モードを設定します。デフォルトはJMSメッセージのデフォルト配信モードに従います。

定義:
インタフェース MessageSender 内の setDeliveryMode
パラメータ:
deliveryMode - 送信するJMSメッセージの配信モード
戻り値:
このインスタンス自身

setPriority

public MessageSender setPriority(int priority)
インタフェース MessageSender の記述:
送信するJMSメッセージの優先度を指定します。デフォルトはJMSメッセージのデフォルト優先度に従います。

定義:
インタフェース MessageSender 内の setPriority
パラメータ:
priority - 送信するJMSメッセージの優先度
戻り値:
このインスタンス自身

setTimeToLive

public MessageSender setTimeToLive(long timeToLive)
インタフェース MessageSender の記述:
送信するJMSメッセージの生存時間をミリ秒単位で指定します。デフォルトはJMSメッセージのデフォルト生存時間に従います。

定義:
インタフェース MessageSender 内の setTimeToLive
パラメータ:
timeToLive - 送信するJMSメッセージの生存時間(ミリ秒単位)
戻り値:
このインスタンス自身

setDisableMessageID

public MessageSender setDisableMessageID(boolean disableMessageID)
インタフェース MessageSender の記述:
送信するJMSメッセージのメッセージIDを無効化する場合にtrueを設定します。デフォルトはfalseです。

定義:
インタフェース MessageSender 内の setDisableMessageID
パラメータ:
disableMessageID - 送信するJMSメッセージのメッセージIDを無効化する場合はtrue、その他の場合はfalse
戻り値:
このインスタンス自身

setDisableMessageTimestamp

public MessageSender setDisableMessageTimestamp(boolean disableMessageTimestamp)
インタフェース MessageSender の記述:
送信するJMSメッセージのタイムスタンプを無効化する場合にtrueを設定します。デフォルトはfalseです。

定義:
インタフェース MessageSender 内の setDisableMessageTimestamp
パラメータ:
disableMessageTimestamp - 送信するJMSメッセージのタイムスタンプを無効化する場合はtrue、その他の場合はfalse
戻り値:
このインスタンス自身

setCorrelationID

public MessageSender setCorrelationID(String correlationID)
インタフェース MessageSender の記述:
JMSメッセージのヘッダに設定されるcorrelationIDを文字列で設定します。

設定された値は作成されたJMSメッセージのMessage.setJMSCorrelationID(String)でヘッダに設定されます。

定義:
インタフェース MessageSender 内の setCorrelationID
パラメータ:
correlationID - JMSメッセージのヘッダに設定される correlationID
戻り値:
このインスタンス自身

setCorrelationIDAsBytes

public MessageSender setCorrelationIDAsBytes(byte[] correlationIDAsBytes)
インタフェース MessageSender の記述:
correlationIDをバイト列で設定します。

設定された値は作成されたJMSメッセージのMessage.setJMSCorrelationIDAsBytes(byte[])でヘッダに設定されます。

定義:
インタフェース MessageSender 内の setCorrelationIDAsBytes
パラメータ:
correlationIDAsBytes - JMSメッセージのヘッダに設定されるcorrelationID
戻り値:
このインスタンス自身

setReplyTo

public MessageSender setReplyTo(Destination replyTo)
インタフェース MessageSender の記述:
replyToをバイト列で設定します。

設定された値は作成されたJMSメッセージのMessage.setJMSReplyTo(Destination)でヘッダに設定されます。

定義:
インタフェース MessageSender 内の setReplyTo
パラメータ:
replyTo - JMSメッセージのヘッダに設定されるreplyTo
戻り値:
このインスタンス自身

addProperty

public MessageSender addProperty(String name,
                                 Object value)
インタフェース MessageSender の記述:
指定された名前を持つプロパティ値を設定します。

設定された値は作成されたJMSメッセージのMessage.setObjectProperty(java.lang.String, java.lang.Object)でプロパティに設定されます。

定義:
インタフェース MessageSender 内の addProperty
パラメータ:
name - プロパティ名
value - プロパティ値
戻り値:
このインスタンス自身

addProperties

public MessageSender addProperties(Map<String,Object> properties)
インタフェース MessageSender の記述:
指定されたMapに含まれるマッピングを全てプロパティとして設定します。

設定された値は作成されたJMSメッセージのMessage.setObjectProperty(java.lang.String, java.lang.Object)でプロパティに設定されます。

定義:
インタフェース MessageSender 内の addProperties
パラメータ:
properties - プロパティ
戻り値:
このインスタンス自身

send

public void send(byte[] bytes)
インタフェース MessageSender の記述:
バイト配列をBytesMessageのペイロードに設定して送信します。

定義:
インタフェース MessageSender 内の send
パラメータ:
bytes - 送信するバイト配列

send

public void send(String text)
インタフェース MessageSender の記述:
文字列をTextMessageのペイロードに設定して送信します。

定義:
インタフェース MessageSender 内の send
パラメータ:
text - 送信する文字列

send

public void send(Serializable object)
インタフェース MessageSender の記述:
SerializableオブジェクトをObjectMessageのペイロードに設定して送信します。

定義:
インタフェース MessageSender 内の send
パラメータ:
object - 送信するオブジェクト

send

public void send(Map<String,Object> map)
インタフェース MessageSender の記述:
MapMapMessageのペイロードに設定して送信します。

定義:
インタフェース MessageSender 内の send
パラメータ:
map - 送信するマップ

send

public void send()
インタフェース MessageSender の記述:
実装クラスのプロパティに設定されたMessageFactoryが作成したJMSメッセージを送信します。

定義:
インタフェース MessageSender 内の send

send

public void send(MessageFactory messageFactory)
インタフェース MessageSender の記述:
MessageFactoryが作成したJMSメッセージを送信します。

定義:
インタフェース MessageSender 内の send
パラメータ:
messageFactory - メッセージファクトリ

getMessage

public Message getMessage()
インタフェース MessageSender の記述:
送信したJMSメッセージを返します。

JMSメッセージが送信されていない場合はnullを返します.

定義:
インタフェース MessageSender 内の getMessage
戻り値:
送信したJMSメッセージ

getMessageID

public String getMessageID()
インタフェース MessageSender の記述:
送信したJMSメッセージのmessageID ヘッダの値を返します。

定義:
インタフェース MessageSender 内の getMessageID
戻り値:
送信したJMSメッセージのmessageIDヘッダの値

getTimestamp

public long getTimestamp()
インタフェース MessageSender の記述:
送信したJMSメッセージのtimestamp ヘッダの値を返します。

定義:
インタフェース MessageSender 内の getTimestamp
戻り値:
送信したJMSメッセージのtimestampヘッダの値

getExpiration

public long getExpiration()
インタフェース MessageSender の記述:
送信したJMSメッセージのexpiration ヘッダの値を返します。

定義:
インタフェース MessageSender 内の getExpiration
戻り値:
送信したJMSメッセージのexpirationヘッダの値

createMessageProducer

protected MessageProducer createMessageProducer(Session session)
                                         throws JMSException
プロパティの設定に基づいてMessageProducerを作成して返します。

パラメータ:
session - JMSセッション
戻り値:
プロパティの設定に基づいて作成したMessageProducer
例外:
JMSException - JMS実装で例外が発生した場合にスローされます


Copyright © 2005-2009 The Seasar Foundation. All Rights Reserved.