public class JmsTemplate extends JmsDestinationAccessor implements JmsOperations
動的な宛先作成を使用する場合は、"pubSubDomain" プロパティを使用して、作成する JMS 宛先の型を指定する必要があります。他の操作の場合、これは必要ありません。ポイントツーポイント (キュー) がデフォルトのドメインです。
JMS セッションのデフォルト設定は、「トランザクションなし」および「自動確認」です。Java EE 仕様で定義されているように、JTA トランザクションまたは Spring 管理トランザクションに関係なく、JMS セッションがアクティブなトランザクション内で作成されると、トランザクションパラメーターと確認パラメーターは無視されます。ネイティブ JMS 使用のためにこれらを構成するには、"sessionTransacted" および "sessionAcknowledgeMode" Bean プロパティに適切な値を指定します。
このテンプレートは、宛先名を解決するかメッセージを変換するためのデフォルトの戦略として、それぞれ DynamicDestinationResolver
と SimpleMessageConverter
を使用します。これらのデフォルトは、Bean プロパティの "destinationResolver" と "messageConverter" によって上書きできます。
注: このテンプレートで使用される ConnectionFactory
は、プールされた接続(または単一の共有接続)、プールされたセッションおよび MessageProducers を返す必要があります。そうしないと、アドホック JMS 操作のパフォーマンスが低下します。最も簡単なオプションは、Spring が提供する SingleConnectionFactory
をターゲット ConnectionFactory
のデコレーターとして使用し、単一の JMS 接続をスレッドセーフな方法で再利用することです。これは、多くの場合、このテンプレートを介してメッセージを送信する目的には十分です。Java EE 環境では、ConnectionFactory
が JNDI を介してアプリケーションの環境ネーミングコンテキストから取得されていることを確認してください。アプリケーションサーバーは通常、プールされたトランザクション対応のファクトリを公開します。
JmsAccessor.setConnectionFactory(javax.jms.ConnectionFactory)
, JmsDestinationAccessor.setPubSubDomain(boolean)
, JmsDestinationAccessor.setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver)
, setMessageConverter(org.springframework.jms.support.converter.MessageConverter)
, MessageProducer
EE, MessageConsumer
EERECEIVE_TIMEOUT_INDEFINITE_WAIT, RECEIVE_TIMEOUT_NO_WAIT
logger
コンストラクターと説明 |
---|
JmsTemplate() Bean スタイルの使用のために新しい JmsTemplate を作成します。 |
JmsTemplate(ConnectionFactoryEE connectionFactory) ConnectionFactory を指定して、新しい JmsTemplate を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
<T> T | browse(BrowserCallback<T> action) デフォルトの JMS キュー内のメッセージを参照します。 |
<T> T | browse(QueueEE queue, BrowserCallback<T> action) JMS キュー内のメッセージを参照します。 |
<T> T | browse(StringSE queueName, BrowserCallback<T> action) JMS キュー内のメッセージを参照します。 |
<T> T | browseSelected(QueueEE queue, StringSE messageSelector, BrowserCallback<T> action) JMS キュー内の選択されたメッセージを参照します。 |
<T> T | browseSelected(StringSE messageSelector, BrowserCallback<T> action) JMS キュー内の選択されたメッセージを参照します。 |
<T> T | browseSelected(StringSE queueName, StringSE messageSelector, BrowserCallback<T> action) JMS キュー内の選択されたメッセージを参照します。 |
void | convertAndSend(DestinationEE destination, ObjectSE message) 指定されたオブジェクトを指定された宛先に送信し、MessageConverter が構成された JMS メッセージにオブジェクトを変換します。 |
void | convertAndSend(DestinationEE destination, ObjectSE message, MessagePostProcessor postProcessor) 指定されたオブジェクトを指定された宛先に送信し、MessageConverter が構成された JMS メッセージにオブジェクトを変換します。 |
void | convertAndSend(ObjectSE message) 指定されたオブジェクトをデフォルトの宛先に送信し、オブジェクトを MessageConverter が構成された JMS メッセージに変換します。 |
void | convertAndSend(ObjectSE message, MessagePostProcessor postProcessor) 指定されたオブジェクトをデフォルトの宛先に送信し、オブジェクトを MessageConverter が構成された JMS メッセージに変換します。 |
void | convertAndSend(StringSE destinationName, ObjectSE message) 指定されたオブジェクトを指定された宛先に送信し、MessageConverter が構成された JMS メッセージにオブジェクトを変換します。 |
void | convertAndSend(StringSE destinationName, ObjectSE message, MessagePostProcessor postProcessor) 指定されたオブジェクトを指定された宛先に送信し、MessageConverter が構成された JMS メッセージにオブジェクトを変換します。 |
protected QueueBrowserEE | createBrowser(SessionEE session, QueueEE queue, StringSE messageSelector) 指定されたセッションと宛先の JMS MessageProducer を作成し、メッセージ ID またはタイムスタンプ(あるいはその両方)を無効にするように構成します(必要な場合)。 |
protected MessageConsumerEE | createConsumer(SessionEE session, DestinationEE destination, StringSE messageSelector) 指定されたセッションと宛先の JMS MessageConsumer を作成します。 |
protected MessageProducerEE | createProducer(SessionEE session, DestinationEE destination) 指定されたセッションと宛先の JMS MessageProducer を作成し、メッセージ ID またはタイムスタンプ(あるいはその両方)を無効にするように構成します(必要な場合)。 |
protected ObjectSE | doConvertFromMessage(MessageEE message) 指定された JMS メッセージからコンテンツを抽出します。 |
protected MessageProducerEE | doCreateProducer(SessionEE session, DestinationEE destination) 指定されたセッションと宛先の raw JMS MessageProducer を作成します。 |
protected MessageEE | doReceive(SessionEE session, DestinationEE destination, StringSE messageSelector) JMS メッセージを受信します。 |
protected MessageEE | doReceive(SessionEE session, MessageConsumerEE consumer) 実際に JMS メッセージを受信します。 |
protected void | doSend(MessageProducerEE producer, MessageEE message) 指定された JMS メッセージを実際に送信します。 |
protected void | doSend(SessionEE session, DestinationEE destination, MessageCreator messageCreator) 指定された JMS メッセージを送信します。 |
protected MessageEE | doSendAndReceive(SessionEE session, DestinationEE destination, MessageCreator messageCreator) 指定された Destination EE にリクエストメッセージを送信し、オンザフライで作成された一時キューで応答が受信されるまでブロックします。 |
<T> T | execute(DestinationEE destination, ProducerCallback<T> action) JMS 宛先にメッセージを送信します。 |
<T> T | execute(ProducerCallback<T> action) デフォルトの JMS 宛先(または各送信操作に指定されたもの)にメッセージを送信します。 |
<T> T | execute(SessionCallback<T> action) JMS セッション内の特定のアクションオブジェクトで指定されたアクションを実行します。 |
<T> T | execute(SessionCallback<T> action, boolean startConnection) JMS セッション内の特定のアクションオブジェクトで指定されたアクションを実行します。 |
<T> T | execute(StringSE destinationName, ProducerCallback<T> action) JMS 宛先にメッセージを送信します。 |
protected ConnectionEE | getConnection(JmsResourceHolder holder) 指定された JmsResourceHolder から適切な接続をフェッチします。 |
DestinationEE | getDefaultDestination() 宛先パラメーターを持たない送受信操作で使用される宛先を返します。 |
StringSE | getDefaultDestinationName() 宛先パラメーターを持たない送受信操作で使用される宛先名を返します。 |
long | getDeliveryDelay() 送信呼び出しに使用する配信遅延(ミリ秒単位)を返します。 |
int | getDeliveryMode() メッセージを送信するときに使用する配信モードを返します。 |
MessageConverter | getMessageConverter() このテンプレートのメッセージコンバーターを返します。 |
int | getPriority() 送信時にメッセージの優先度を返します。 |
long | getReceiveTimeout() 受信呼び出しに使用するタイムアウト(ミリ秒単位)を返します。 |
protected SessionEE | getSession(JmsResourceHolder holder) 指定された JmsResourceHolder から適切なセッションをフェッチします。 |
long | getTimeToLive() 送信時にメッセージの生存期間を返します。 |
protected void | initDefaultStrategies() テンプレートの戦略のデフォルト実装である DynamicDestinationResolver および SimpleMessageConverter を初期化します。 |
boolean | isExplicitQosEnabled() "true" の場合、メッセージを送信するときに、deliveryMode、優先度、timeToLive の値が使用されます。 |
boolean | isMessageIdEnabled() メッセージ ID が有効かどうかを返します。 |
boolean | isMessageTimestampEnabled() メッセージのタイムスタンプが有効かどうかを返します。 |
boolean | isPubSubNoLocal() 独自の接続によって公開されたメッセージの配信を禁止するかどうかを返します。 |
protected boolean | isSessionLocallyTransacted(SessionEE session) 指定されたセッションがローカルでトランザクション処理されているかどうか、つまり、そのトランザクションが外部リスナーのコーディネーターではなく、このリスナーコンテナーのセッション処理によって管理されているかどうかを確認します。 |
MessageEE | receive() デフォルトの宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
MessageEE | receive(DestinationEE destination) 指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
MessageEE | receive(StringSE destinationName) 指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
ObjectSE | receiveAndConvert() デフォルトの宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
ObjectSE | receiveAndConvert(DestinationEE destination) 指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
ObjectSE | receiveAndConvert(StringSE destinationName) 指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
MessageEE | receiveSelected(DestinationEE destination, StringSE messageSelector) 指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
MessageEE | receiveSelected(StringSE messageSelector) デフォルトの宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
MessageEE | receiveSelected(StringSE destinationName, StringSE messageSelector) 指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
ObjectSE | receiveSelectedAndConvert(DestinationEE destination, StringSE messageSelector) 指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
ObjectSE | receiveSelectedAndConvert(StringSE messageSelector) デフォルトの宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
ObjectSE | receiveSelectedAndConvert(StringSE destinationName, StringSE messageSelector) 指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。 |
void | send(DestinationEE destination, MessageCreator messageCreator) 指定された宛先にメッセージを送信します。 |
void | send(MessageCreator messageCreator) デフォルトの宛先にメッセージを送信します。 |
void | send(StringSE destinationName, MessageCreator messageCreator) 指定された宛先にメッセージを送信します。 |
MessageEE | sendAndReceive(DestinationEE destination, MessageCreator messageCreator) メッセージを送信し、指定された宛先から応答を受信します。 |
MessageEE | sendAndReceive(MessageCreator messageCreator) リクエストメッセージを送信し、デフォルトの宛先から応答を受信します。 |
MessageEE | sendAndReceive(StringSE destinationName, MessageCreator messageCreator) メッセージを送信し、指定された宛先から応答を受信します。 |
void | setDefaultDestination(DestinationEE destination) 宛先パラメーターを持たない送受信操作で使用される宛先を設定します。 |
void | setDefaultDestinationName(StringSE destinationName) 宛先パラメーターを持たない送受信操作で使用される宛先名を設定します。 |
void | setDeliveryDelay(long deliveryDelay) 送信呼び出しに使用する配信遅延を設定します(ミリ秒単位)。 |
void | setDeliveryMode(int deliveryMode) メッセージの送信時に使用する配信モードを設定します。 |
void | setDeliveryPersistent(boolean deliveryPersistent) ブール値("true" または "false" )として指定して、メッセージ配信を永続的にするか非永続的にするかを設定します。 |
void | setExplicitQosEnabled(boolean explicitQosEnabled) メッセージの送信に QOS 値 (deliveryMode、優先度、timeToLive) を使用するかどうかを設定します。 |
void | setMessageConverter(MessageConverter messageConverter) このテンプレートのメッセージコンバーターを設定します。 |
void | setMessageIdEnabled(boolean messageIdEnabled) メッセージ ID を有効にするかどうかを設定します。 |
void | setMessageTimestampEnabled(boolean messageTimestampEnabled) メッセージのタイムスタンプを有効にするかどうかを設定します。 |
void | setPriority(int priority) 送信時のメッセージの優先度を設定します。 |
void | setPubSubNoLocal(boolean pubSubNoLocal) 独自の接続によって公開されたメッセージの配信を禁止するかどうかを設定します。 |
void | setQosSettings(QosSettings settings) メッセージの送信時に使用する QosSettings を設定します。 |
void | setReceiveTimeout(long receiveTimeout) 受信呼び出しに使用するタイムアウトを設定します(ミリ秒単位)。 |
void | setTimeToLive(long timeToLive) 送信時のメッセージの生存期間を設定します。 |
getDestinationResolver, isPubSubDomain, receiveFromConsumer, resolveDestinationName, setDestinationResolver, setPubSubDomain
afterPropertiesSet, convertJmsAccessException, createConnection, createSession, getConnectionFactory, getSessionAcknowledgeMode, isClientAcknowledge, isSessionTransacted, obtainConnectionFactory, setConnectionFactory, setSessionAcknowledgeMode, setSessionAcknowledgeModeName, setSessionTransacted
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public JmsTemplate()
メモ: インスタンスを使用する前に、ConnectionFactory を設定する必要があります。このコンストラクターは、BeanFactory を介して JmsTemplate を準備するために使用でき、通常は setConnectionFactory を介して ConnectionFactory を設定します。
public JmsTemplate(ConnectionFactoryEE connectionFactory)
connectionFactory
- から接続を取得する ConnectionFactoryprotected void initDefaultStrategies()
public void setDefaultDestination(@Nullable DestinationEE destination)
あるいは、DestinationResolver を介して動的に解決される "defaultDestinationName" を指定します。
@Nullable public DestinationEE getDefaultDestination()
public void setDefaultDestinationName(@Nullable StringSE destinationName)
または、JMS 宛先オブジェクトを "defaultDestination" として指定します。
@Nullable public StringSE getDefaultDestinationName()
public void setMessageConverter(@Nullable MessageConverter messageConverter)
デフォルトのコンバーターは SimpleMessageConverter で、BytesMessages、TextMessages、ObjectMessages を処理できます。
@Nullable public MessageConverter getMessageConverter()
public void setMessageIdEnabled(boolean messageIdEnabled)
これは JMS プロデューサーへのヒントにすぎません。詳細については、JMS javadoc を参照してください。
public boolean isMessageIdEnabled()
public void setMessageTimestampEnabled(boolean messageTimestampEnabled)
これは JMS プロデューサーへのヒントにすぎません。詳細については、JMS javadoc を参照してください。
public boolean isMessageTimestampEnabled()
public void setPubSubNoLocal(boolean pubSubNoLocal)
public boolean isPubSubNoLocal()
public void setReceiveTimeout(long receiveTimeout)
デフォルトは JmsDestinationAccessor.RECEIVE_TIMEOUT_INDEFINITE_WAIT
で、タイムアウトなしで受信をブロックすることを示します。
JmsDestinationAccessor.RECEIVE_TIMEOUT_NO_WAIT
(またはその他の負の値)を指定して、受信操作でメッセージがブロックされずにすぐに使用可能かどうかを確認する必要があることを示します。
public long getReceiveTimeout()
public void setDeliveryDelay(long deliveryDelay)
デフォルトは -1(ブローカーに配信遅延が渡されない)です。この機能には JMS 2.0 が必要です。
public long getDeliveryDelay()
public void setExplicitQosEnabled(boolean explicitQosEnabled)
public boolean isExplicitQosEnabled()
setDeliveryMode(int)
, setPriority(int)
, setTimeToLive(long)
public void setQosSettings(QosSettings settings)
QosSettings
を設定します。settings
- 使用する deliveryMode、優先度、timeToLive 設定 setExplicitQosEnabled(boolean)
, setDeliveryMode(int)
, setPriority(int)
, setTimeToLive(long)
public void setDeliveryPersistent(boolean deliveryPersistent)
デフォルトは "true"、別名 "PERSISTENT" です。
public void setDeliveryMode(int deliveryMode)
デフォルト値は管理上定義される可能性があるため、これは "isExplicitQosEnabled" が "true" に等しい場合にのみ使用されます。
deliveryMode
- 使用する配信モード isExplicitQosEnabled()
, DeliveryMode.PERSISTENT
EE, DeliveryMode.NON_PERSISTENT
EE, Message.DEFAULT_DELIVERY_MODE
EE, MessageProducer.send(javax.jms.Message, int, int, long)
EEpublic int getDeliveryMode()
public void setPriority(int priority)
デフォルト値は管理上定義される可能性があるため、これは "isExplicitQosEnabled" が "true" に等しい場合にのみ使用されます。
public int getPriority()
public void setTimeToLive(long timeToLive)
デフォルト値は管理上定義される可能性があるため、これは "isExplicitQosEnabled" が "true" に等しい場合にのみ使用されます。
timeToLive
- メッセージの存続期間 (ミリ秒単位)isExplicitQosEnabled()
, Message.DEFAULT_TIME_TO_LIVE
EE, MessageProducer.send(javax.jms.Message, int, int, long)
EEpublic long getTimeToLive()
@Nullable public <T> T execute(SessionCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の execute
action
- セッションを公開するコールバックオブジェクト JmsException
- 問題がある場合 @Nullable public <T> T execute(SessionCallback<T> action, boolean startConnection) throws JmsException
execute(SessionCallback)
の汎用バージョン。JMS 接続をオンザフライで開始できます。 一般的なケースでは execute(SessionCallback)
を使用します。JMS 接続を開始することは、メッセージを受信するために必要なだけであり、receive
メソッドを使用して実現することができます。
action
- セッションを公開するコールバックオブジェクト startConnection
- 接続を開始するかどうか JmsException
- 問題がある場合 execute(SessionCallback)
, receive()
@Nullable public <T> T execute(ProducerCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の execute
action
- セッション / プロデューサーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public <T> T execute(@Nullable DestinationEE destination, ProducerCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の execute
destination
- メッセージの送信先 action
- セッション / プロデューサーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public <T> T execute(StringSE destinationName, ProducerCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の execute
destinationName
- メッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)action
- セッション / プロデューサーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました public void send(MessageCreator messageCreator) throws JmsException
JmsOperations
これは、デフォルトの宛先が指定されている場合にのみ機能します。
JmsOperations
の send
messageCreator
- メッセージを作成するためのコールバック JmsException
- チェック済みの JMSException がチェックなしに変換されました public void send(DestinationEE destination, MessageCreator messageCreator) throws JmsException
JmsOperations
JmsOperations
の send
destination
- このメッセージの送信先 messageCreator
- メッセージを作成するためのコールバック JmsException
- チェック済みの JMSException がチェックなしに変換されました public void send(StringSE destinationName, MessageCreator messageCreator) throws JmsException
JmsOperations
JmsOperations
の send
destinationName
- このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)messageCreator
- メッセージを作成するためのコールバック JmsException
- チェック済みの JMSException がチェックなしに変換されました protected void doSend(SessionEE session, DestinationEE destination, MessageCreator messageCreator) throws JMSExceptionEE
session
- 操作する JMS セッション destination
- 送信先の JMS 宛先 messageCreator
- JMS メッセージを作成するためのコールバック JMSExceptionEE
- JMS API メソッドによってスローされた場合 protected void doSend(MessageProducerEE producer, MessageEE message) throws JMSExceptionEE
producer
- 送信に使用する JMS MessageProducermessage
- 送信する JMS メッセージ JMSExceptionEE
- JMS API メソッドによってスローされた場合 public void convertAndSend(ObjectSE message) throws JmsException
JmsOperations
これは、デフォルトの宛先が指定されている場合にのみ機能します。
JmsOperations
の convertAndSend
message
- メッセージに変換するオブジェクト JmsException
- チェック済みの JMSException をチェックなしに変換 public void convertAndSend(DestinationEE destination, ObjectSE message) throws JmsException
JmsOperations
JmsOperations
の convertAndSend
destination
- このメッセージの送信先 message
- メッセージに変換するオブジェクト JmsException
- チェック済みの JMSException をチェックなしに変換 public void convertAndSend(StringSE destinationName, ObjectSE message) throws JmsException
JmsOperations
JmsOperations
の convertAndSend
destinationName
- このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)message
- メッセージに変換するオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました public void convertAndSend(ObjectSE message, MessagePostProcessor postProcessor) throws JmsException
JmsOperations
これは、デフォルトの宛先が指定されている場合にのみ機能します。
JmsOperations
の convertAndSend
message
- メッセージに変換するオブジェクト postProcessor
- メッセージを変更するためのコールバック JmsException
- チェック済みの JMSException がチェックなしに変換されました public void convertAndSend(DestinationEE destination, ObjectSE message, MessagePostProcessor postProcessor) throws JmsException
JmsOperations
JmsOperations
の convertAndSend
destination
- このメッセージの送信先 message
- メッセージに変換するオブジェクト postProcessor
- メッセージを変更するためのコールバック JmsException
- チェック済みの JMSException がチェックなしに変換されました public void convertAndSend(StringSE destinationName, ObjectSE message, MessagePostProcessor postProcessor) throws JmsException
JmsOperations
JmsOperations
の convertAndSend
destinationName
- このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)message
- メッセージに変換するオブジェクト。postProcessor
- メッセージを変更するためのコールバック JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public MessageEE receive() throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
これは、デフォルトの宛先が指定されている場合にのみ機能します。
JmsOperations
の receive
null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public MessageEE receive(DestinationEE destination) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
JmsOperations
の receive
destination
- メッセージを受け取る宛先 null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public MessageEE receive(StringSE destinationName) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
JmsOperations
の receive
destinationName
- このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public MessageEE receiveSelected(StringSE messageSelector) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
これは、デフォルトの宛先が指定されている場合にのみ機能します。
JmsOperations
の receiveSelected
messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public MessageEE receiveSelected(DestinationEE destination, @Nullable StringSE messageSelector) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
JmsOperations
の receiveSelected
destination
- メッセージを受け取る宛先 messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public MessageEE receiveSelected(StringSE destinationName, @Nullable StringSE messageSelector) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
JmsOperations
の receiveSelected
destinationName
- このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable protected MessageEE doReceive(SessionEE session, DestinationEE destination, @Nullable StringSE messageSelector) throws JMSExceptionEE
session
- 操作する JMS セッション destination
- 受信する JMS 宛先 messageSelector
- このコンシューマーのメッセージセレクタ (null
にすることができます)null
JMSExceptionEE
- JMS API メソッドによってスローされた場合 @Nullable protected MessageEE doReceive(SessionEE session, MessageConsumerEE consumer) throws JMSExceptionEE
session
- 操作する JMS セッション consumer
- 受信する JMS MessageConsumernull
JMSExceptionEE
- JMS API メソッドによってスローされた場合 @Nullable public ObjectSE receiveAndConvert() throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
これは、デフォルトの宛先が指定されている場合にのみ機能します。
JmsOperations
の receiveAndConvert
null
に対して生成されるメッセージ。JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public ObjectSE receiveAndConvert(DestinationEE destination) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
JmsOperations
の receiveAndConvert
destination
- メッセージを受け取る宛先 null
に対して生成されるメッセージ。JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public ObjectSE receiveAndConvert(StringSE destinationName) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
JmsOperations
の receiveAndConvert
destinationName
- このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)null
に対して生成されるメッセージ。JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public ObjectSE receiveSelectedAndConvert(StringSE messageSelector) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
これは、デフォルトの宛先が指定されている場合にのみ機能します。
JmsOperations
の receiveSelectedAndConvert
messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。null
に対して生成されるメッセージ。JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public ObjectSE receiveSelectedAndConvert(DestinationEE destination, StringSE messageSelector) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
JmsOperations
の receiveSelectedAndConvert
destination
- メッセージを受け取る宛先 messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。null
に対して生成されるメッセージ。JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public ObjectSE receiveSelectedAndConvert(StringSE destinationName, StringSE messageSelector) throws JmsException
JmsOperations
このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。
JmsOperations
の receiveSelectedAndConvert
destinationName
- このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。null
に対して生成されるメッセージ。JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable protected ObjectSE doConvertFromMessage(@Nullable MessageEE message)
message
- 変換する JMS メッセージ (null
にすることができます)null
@Nullable public MessageEE sendAndReceive(MessageCreator messageCreator) throws JmsException
JmsOperations
MessageCreator
コールバックは、セッションが指定されたメッセージを作成します。この操作の一部として一時キューが作成され、メッセージの JMSReplyTO
ヘッダーに設定されます。これは、デフォルトの宛先が指定されている場合にのみ機能します。
JmsOperations
の sendAndReceive
messageCreator
- リクエストメッセージを作成するためのコールバック null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public MessageEE sendAndReceive(DestinationEE destination, MessageCreator messageCreator) throws JmsException
JmsOperations
MessageCreator
コールバックは、セッションが指定されたメッセージを作成します。この操作の一部として一時キューが作成され、メッセージの JMSReplyTO
ヘッダーに設定されます。JmsOperations
の sendAndReceive
destination
- このメッセージの送信先 messageCreator
- メッセージを作成するためのコールバック null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public MessageEE sendAndReceive(StringSE destinationName, MessageCreator messageCreator) throws JmsException
JmsOperations
MessageCreator
コールバックは、セッションが指定されたメッセージを作成します。この操作の一部として一時キューが作成され、メッセージの JMSReplyTO
ヘッダーに設定されます。JmsOperations
の sendAndReceive
destinationName
- このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)messageCreator
- メッセージを作成するためのコールバック null
JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable protected MessageEE doSendAndReceive(SessionEE session, DestinationEE destination, MessageCreator messageCreator) throws JMSExceptionEE
Destination
EE にリクエストメッセージを送信し、オンザフライで作成された一時キューで応答が受信されるまでブロックします。 レスポンスメッセージを返すか、メッセージがない場合は null
を返します
JMSExceptionEE
- JMS API メソッドによってスローされた場合 @Nullable public <T> T browse(BrowserCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の browse
action
- セッションとブラウザーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public <T> T browse(QueueEE queue, BrowserCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の browse
queue
- 閲覧するキュー action
- セッションとブラウザーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public <T> T browse(StringSE queueName, BrowserCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の browse
queueName
- 参照するキューの名前 (DestinationResolver によって実際の宛先に解決される)action
- セッションとブラウザーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public <T> T browseSelected(StringSE messageSelector, BrowserCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の browseSelected
messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。action
- セッションとブラウザーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public <T> T browseSelected(QueueEE queue, @Nullable StringSE messageSelector, BrowserCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の browseSelected
queue
- 閲覧するキュー messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。action
- セッションとブラウザーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable public <T> T browseSelected(StringSE queueName, @Nullable StringSE messageSelector, BrowserCallback<T> action) throws JmsException
JmsOperations
JmsOperations
の browseSelected
queueName
- 参照するキューの名前 (DestinationResolver によって実際の宛先に解決される)messageSelector
- JMS メッセージセレクター式(ない場合は null
)。セレクター式の詳細な定義については、JMS 仕様を参照してください。action
- セッションとブラウザーのペアを公開するコールバックオブジェクト JmsException
- チェック済みの JMSException がチェックなしに変換されました @Nullable protected ConnectionEE getConnection(JmsResourceHolder holder)
この実装は、すべての JMS 1.1 接続を受け入れます。
holder
- JmsResourceHoldernull
@Nullable protected SessionEE getSession(JmsResourceHolder holder)
この実装は、すべての JMS 1.1 セッションを受け入れます。
holder
- JmsResourceHoldernull
protected boolean isSessionLocallyTransacted(SessionEE session)
メモ: セッション自体のトランザクション済みフラグは、以前にすでにチェックされています。このメソッドは、セッションのトランザクションがローカルであるか、外部で調整されているかを確認するためのものです。
session
- チェックするセッション JmsAccessor.isSessionTransacted()
, ConnectionFactoryUtils.isSessionTransactional(javax.jms.Session, javax.jms.ConnectionFactory)
protected MessageProducerEE createProducer(SessionEE session, @Nullable DestinationEE destination) throws JMSExceptionEE
未加工の JMS MessageProducer を作成するための doCreateProducer(javax.jms.Session, javax.jms.Destination)
へのデリゲート。
session
- MessageProducer を作成する JMS セッション destination
- MessageProducer を作成する JMS 宛先 JMSExceptionEE
- JMS API メソッドによってスローされた場合 setMessageIdEnabled(boolean)
, setMessageTimestampEnabled(boolean)
protected MessageProducerEE doCreateProducer(SessionEE session, @Nullable DestinationEE destination) throws JMSExceptionEE
この実装では、JMS 1.1 API を使用します。
session
- MessageProducer を作成する JMS セッション destination
- MessageProducer を作成する JMS 宛先 JMSExceptionEE
- JMS API メソッドによってスローされた場合 protected MessageConsumerEE createConsumer(SessionEE session, DestinationEE destination, @Nullable StringSE messageSelector) throws JMSExceptionEE
この実装では、JMS 1.1 API を使用します。
session
- MessageConsumer を作成する JMS セッション destination
- MessageConsumer を作成する JMS 宛先 messageSelector
- このコンシューマーのメッセージセレクタ (null
にすることができます)JMSExceptionEE
- JMS API メソッドによってスローされた場合 protected QueueBrowserEE createBrowser(SessionEE session, QueueEE queue, @Nullable StringSE messageSelector) throws JMSExceptionEE
未加工の JMS MessageProducer を作成するための doCreateProducer(javax.jms.Session, javax.jms.Destination)
へのデリゲート。
session
- QueueBrowser を作成する JMS セッション queue
- QueueBrowser を作成する JMS キュー messageSelector
- このコンシューマーのメッセージセレクタ (null
にすることができます)JMSExceptionEE
- JMS API メソッドによってスローされた場合 setMessageIdEnabled(boolean)
, setMessageTimestampEnabled(boolean)