クラス JmsTemplate

実装されたすべてのインターフェース:
InitializingBeanJmsOperations

public class JmsTemplate extends JmsDestinationAccessor implements JmsOperations
同期 JMS アクセスコードを簡略化するヘルパークラス。

動的宛先作成を使用する場合は、"pubSubDomain" プロパティを使用して、作成する JMS 宛先の型を指定する必要があります。他の操作の場合、これは必要ありません。ポイントツーポイント(キュー)がデフォルトのドメインです。

JMS セッションのデフォルト設定は、「トランザクションなし」および「自動確認」です。Jakarta EE 仕様で定義されているように、JTA トランザクションまたは Spring 管理のトランザクションのどちらであるかに関係なく、アクティブなトランザクション内で JMS セッションが作成されると、トランザクションおよび確認応答パラメーターは無視されます。ネイティブ JMS 使用のために構成するには、"sessionTransacted" および "sessionAcknowledgeMode" Bean プロパティに適切な値を指定します。

このテンプレートは、宛先名を解決するため、またはメッセージを変換するためのデフォルトの戦略として、それぞれ DynamicDestinationResolver および SimpleMessageConverter を使用します。これらのデフォルトは、"destinationResolver" および "messageConverter" の Bean プロパティによってオーバーライドできます。

注: このテンプレートで使用される ConnectionFactory は、プールされた接続(または単一の共有接続)、プールされたセッションおよび MessageProducers を返す必要があります。そうしないと、アドホック JMS 操作のパフォーマンスが低下します。最も簡単なオプションは、Spring が提供する SingleConnectionFactory をターゲット ConnectionFactory のデコレーターとして使用し、単一の JMS 接続をスレッドセーフな方法で再利用することです。これは、多くの場合、このテンプレートを介してメッセージを送信する目的には十分です。Jakarta EE 環境では、ConnectionFactory が JNDI を介してアプリケーションの環境ネーミングコンテキストから取得されていることを確認してください。アプリケーションサーバーは通常、プールされたトランザクション対応のファクトリを公開します。

導入:
1.1
作成者:
Mark Pollack, Juergen Hoeller, Stephane Nicoll, Brian Clozel
関連事項:
  • コンストラクターの詳細

    • JmsTemplate

      public JmsTemplate()
      Bean スタイルの使用のために新しい JmsTemplate を作成します。

      メモ: ConnectionFactory は、インスタンスを使用する前に設定する必要があります。このコンストラクターは、BeanFactory を介して JmsTemplate を準備するために使用できます。通常は、setConnectionFactory を介して ConnectionFactory を設定します。

      関連事項:
    • JmsTemplate

      public JmsTemplate(ConnectionFactoryEE connectionFactory)
      ConnectionFactory を指定して、新しい JmsTemplate を作成します。
      パラメーター:
      connectionFactory - から接続を取得する ConnectionFactory
  • メソッドの詳細

    • initDefaultStrategies

      protected void initDefaultStrategies()
      テンプレートの戦略のデフォルト実装である DynamicDestinationResolver および SimpleMessageConverter を初期化します。
      関連事項:
    • setDefaultDestination

      public void setDefaultDestination(@Nullable DestinationEE destination)
      宛先パラメーターを持たない送受信操作で使用される宛先を設定します。

      または、DestinationResolver を介して動的に解決される "defaultDestinationName" を指定します。

      関連事項:
    • getDefaultDestination

      @Nullable public DestinationEE getDefaultDestination()
      宛先パラメーターを持たない送受信操作で使用される宛先を返します。
    • setDefaultDestinationName

      public void setDefaultDestinationName(@Nullable StringSE destinationName)
      宛先パラメーターを持たない送受信操作で使用される宛先名を設定します。指定された名前は、DestinationResolver を介して動的に解決されます。

      または、JMS Destination オブジェクトを "defaultDestination" として指定します。

      関連事項:
    • getDefaultDestinationName

      @Nullable public StringSE getDefaultDestinationName()
      宛先パラメーターを持たない送受信操作で使用される宛先名を返します。
    • setMessageConverter

      public void setMessageConverter(@Nullable MessageConverter messageConverter)
      このテンプレートのメッセージコンバーターを設定します。Object パラメーターを変換して、convertAndSend メソッドおよび receiveAndConvert メソッドからの Object 結果を解決するために使用されます。

      デフォルトのコンバーターは SimpleMessageConverter で、BytesMessages、TextMessages、ObjectMessages を処理できます。

      関連事項:
    • getMessageConverter

      @Nullable public MessageConverter getMessageConverter()
      このテンプレートのメッセージコンバーターを返します。
    • setMessageIdEnabled

      public void setMessageIdEnabled(boolean messageIdEnabled)
      メッセージ ID を有効にするかどうかを設定します。デフォルトは "true" です。

      これは JMS プロデューサーへのヒントにすぎません。詳細については、JMS javadoc を参照してください。

      関連事項:
    • isMessageIdEnabled

      public boolean isMessageIdEnabled()
      メッセージ ID が有効かどうかを返します。
    • setMessageTimestampEnabled

      public void setMessageTimestampEnabled(boolean messageTimestampEnabled)
      メッセージのタイムスタンプを有効にするかどうかを設定します。デフォルトは "true" です。

      これは JMS プロデューサーへのヒントにすぎません。詳細については、JMS javadoc を参照してください。

      関連事項:
    • isMessageTimestampEnabled

      public boolean isMessageTimestampEnabled()
      メッセージのタイムスタンプが有効かどうかを返します。
    • setPubSubNoLocal

      public void setPubSubNoLocal(boolean pubSubNoLocal)
      独自の接続によって公開されたメッセージの配信を禁止するかどうかを設定します。デフォルトは "false" です。
      関連事項:
    • isPubSubNoLocal

      public boolean isPubSubNoLocal()
      独自の接続によって公開されたメッセージの配信を禁止するかどうかを返します。
    • setReceiveTimeout

      public void setReceiveTimeout(long receiveTimeout)
      受信呼び出しに使用するタイムアウトを設定します(ミリ秒単位)。

      デフォルトは JmsDestinationAccessor.RECEIVE_TIMEOUT_INDEFINITE_WAIT で、タイムアウトなしで受信をブロックすることを示します。

      JmsDestinationAccessor.RECEIVE_TIMEOUT_NO_WAIT(またはその他の負の値)を指定して、受信操作でメッセージがブロックされずにすぐに使用可能かどうかを確認する必要があることを示します。

      関連事項:
    • getReceiveTimeout

      public long getReceiveTimeout()
      受信呼び出しに使用するタイムアウト(ミリ秒単位)を返します。
    • setDeliveryDelay

      public void setDeliveryDelay(long deliveryDelay)
      送信呼び出しに使用する配信遅延を設定します(ミリ秒単位)。

      デフォルトは -1(ブローカーに配信遅延が渡されない)です。この機能には JMS 2.0 が必要です。

    • getDeliveryDelay

      public long getDeliveryDelay()
      送信呼び出しに使用する配信遅延(ミリ秒単位)を返します。
    • setExplicitQosEnabled

      public void setExplicitQosEnabled(boolean explicitQosEnabled)
      メッセージの送信に QOS 値(deliveryMode、priority、timeToLive)を使用する必要があるかどうかを設定します。
      関連事項:
    • isExplicitQosEnabled

      public boolean isExplicitQosEnabled()
      "true" の場合、メッセージを送信するときに、deliveryMode、priority、timeToLive の値が使用されます。それ以外の場合は、管理者が設定できるデフォルト値が使用されます。
      戻り値:
      QOS パラメーターのデフォルト値を上書きする場合は true (deliveryMode、priority、timeToLive)
      関連事項:
    • setQosSettings

      public void setQosSettings(QosSettings settings)
      メッセージの送信時に使用する QosSettings を設定します。
      パラメーター:
      settings - 使用する deliveryMode、priority、timeToLive 設定
      導入:
      5.0
      関連事項:
    • setDeliveryPersistent

      public void setDeliveryPersistent(boolean deliveryPersistent)
      ブール値("true" または "false" )として指定して、メッセージ配信を永続的にするか非永続的にするかを設定します。これにより、配信モードが "PERSISTENT" (2) または "NON_PERSISTENT" (1) に設定されます。

      デフォルトは "true"、別名 "PERSISTENT" です。

      関連事項:
    • setDeliveryMode

      public void setDeliveryMode(int deliveryMode)
      メッセージの送信時に使用する配信モードを設定します。デフォルトは、JMS メッセージのデフォルト "PERSISTENT" です。

      デフォルト値は管理者が定義できるため、これは "isExplicitQosEnabled" が "true" の場合にのみ使用されます。

      パラメーター:
      deliveryMode - 使用する配信モード
      関連事項:
    • getDeliveryMode

      public int getDeliveryMode()
      メッセージを送信するときに使用する配信モードを返します。
    • setPriority

      public void setPriority(int priority)
      送信時のメッセージの優先度を設定します。

      デフォルト値は管理者が定義できるため、これは "isExplicitQosEnabled" が "true" の場合にのみ使用されます。

      関連事項:
    • getPriority

      public int getPriority()
      送信時にメッセージの優先度を返します。
    • setTimeToLive

      public void setTimeToLive(long timeToLive)
      送信時のメッセージの生存期間を設定します。

      デフォルト値は管理者が定義できるため、これは "isExplicitQosEnabled" が "true" の場合にのみ使用されます。

      パラメーター:
      timeToLive - メッセージの存続期間 (ミリ秒単位)
      関連事項:
    • getTimeToLive

      public long getTimeToLive()
      送信時にメッセージの生存期間を返します。
    • setObservationRegistry

      public void setObservationRegistry(io.micrometer.observation.ObservationRegistry observationRegistry)
      JMS 観察の記録に使用するように ObservationRegistry を構成します。
      パラメーター:
      observationRegistry - 使用する観察レジストリ。
      導入:
      6.1
      関連事項:
      • JmsInstrumentation
    • execute

      @Nullable public <T> T execute(SessionCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      JMS セッション内の特定のアクションオブジェクトで指定されたアクションを実行します。
      次で指定:
      インターフェース JmsOperationsexecute 
      パラメーター:
      action - セッションを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - 問題がある場合
    • execute

      @Nullable public <T> T execute(SessionCallback<T> action, boolean startConnection) throws JmsException
      JMS セッション内の特定のアクションオブジェクトによって指定されたアクションを実行します。execute(SessionCallback) の汎用バージョン。JMS 接続をオンザフライで開始できます。

      一般的なケースでは execute(SessionCallback) を使用します。JMS 接続を開始することは、メッセージを受信するために必要なだけであり、receive メソッドを使用して実現することができます。

      パラメーター:
      action - セッションを公開するコールバックオブジェクト
      startConnection - 接続を開始するかどうか
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - 問題がある場合
      関連事項:
    • execute

      @Nullable public <T> T execute(ProducerCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      デフォルトの JMS 宛先(または各送信操作に指定されたもの)にメッセージを送信します。コールバックは、複雑な送信操作を実行するために、JMS セッションと MessageProducer へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsexecute 
      パラメーター:
      action - セッション / プロデューサーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • execute

      @Nullable public <T> T execute(@Nullable DestinationEE destination, ProducerCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      JMS 宛先にメッセージを送信します。コールバックは、複雑な送信操作を実行するために、JMS セッションと MessageProducer へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsexecute 
      パラメーター:
      destination - メッセージの送信先
      action - セッション / プロデューサーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • execute

      @Nullable public <T> T execute(StringSE destinationName, ProducerCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      JMS 宛先にメッセージを送信します。コールバックは、複雑な送信操作を実行するために、JMS セッションと MessageProducer へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsexecute 
      パラメーター:
      destinationName - メッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      action - セッション / プロデューサーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • send

      public void send(MessageCreator messageCreator) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      デフォルトの宛先にメッセージを送信します。

      これは、デフォルトの宛先が指定されている場合にのみ機能します。

      次で指定:
      インターフェース JmsOperationssend 
      パラメーター:
      messageCreator - メッセージを作成するためのコールバック
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • send

      public void send(DestinationEE destination, MessageCreator messageCreator) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先にメッセージを送信します。MessageCreator コールバックは、セッションが指定されたメッセージを作成します。
      次で指定:
      インターフェース JmsOperationssend 
      パラメーター:
      destination - このメッセージの送信先
      messageCreator - メッセージを作成するためのコールバック
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • send

      public void send(StringSE destinationName, MessageCreator messageCreator) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先にメッセージを送信します。MessageCreator コールバックは、セッションが指定されたメッセージを作成します。
      次で指定:
      インターフェース JmsOperationssend 
      パラメーター:
      destinationName - このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      messageCreator - メッセージを作成するためのコールバック
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • doSend

      protected void doSend(SessionEE session, DestinationEE destination, MessageCreator messageCreator) throws JMSExceptionEE
      指定された JMS メッセージを送信します。
      パラメーター:
      session - 操作する JMS セッション
      destination - 送信先の JMS 宛先
      messageCreator - JMS メッセージを作成するためのコールバック
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
    • doSend

      protected void doSend(MessageProducerEE producer, MessageEE message) throws JMSExceptionEE
      指定された JMS メッセージを実際に送信します。
      パラメーター:
      producer - 送信に使用する JMS MessageProducer
      message - 送信する JMS メッセージ
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
    • convertAndSend

      public void convertAndSend(ObjectSE message) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定されたオブジェクトをデフォルトの宛先に送信し、オブジェクトを MessageConverter が構成された JMS メッセージに変換します。

      これは、デフォルトの宛先が指定されている場合にのみ機能します。

      次で指定:
      インターフェース JmsOperationsconvertAndSend 
      パラメーター:
      message - メッセージに変換するオブジェクト
      例外:
      JmsException - チェック済みの JMSException をチェックなしに変換
    • convertAndSend

      public void convertAndSend(DestinationEE destination, ObjectSE message) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定されたオブジェクトを指定された宛先に送信し、MessageConverter が構成された JMS メッセージにオブジェクトを変換します。
      次で指定:
      インターフェース JmsOperationsconvertAndSend 
      パラメーター:
      destination - このメッセージの送信先
      message - メッセージに変換するオブジェクト
      例外:
      JmsException - チェック済みの JMSException をチェックなしに変換
    • convertAndSend

      public void convertAndSend(StringSE destinationName, ObjectSE message) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定されたオブジェクトを指定された宛先に送信し、MessageConverter が構成された JMS メッセージにオブジェクトを変換します。
      次で指定:
      インターフェース JmsOperationsconvertAndSend 
      パラメーター:
      destinationName - このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      message - メッセージに変換するオブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • convertAndSend

      public void convertAndSend(ObjectSE message, MessagePostProcessor postProcessor) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定されたオブジェクトをデフォルトの宛先に送信し、オブジェクトを MessageConverter が構成された JMS メッセージに変換します。MessagePostProcessor コールバックでは、変換後にメッセージを変更できます。

      これは、デフォルトの宛先が指定されている場合にのみ機能します。

      次で指定:
      インターフェース JmsOperationsconvertAndSend 
      パラメーター:
      message - メッセージに変換するオブジェクト
      postProcessor - メッセージを変更するためのコールバック
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • convertAndSend

      public void convertAndSend(DestinationEE destination, ObjectSE message, MessagePostProcessor postProcessor) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定されたオブジェクトを指定された宛先に送信し、オブジェクトを MessageConverter が構成された JMS メッセージに変換します。MessagePostProcessor コールバックでは、変換後にメッセージを変更できます。
      次で指定:
      インターフェース JmsOperationsconvertAndSend 
      パラメーター:
      destination - このメッセージの送信先
      message - メッセージに変換するオブジェクト
      postProcessor - メッセージを変更するためのコールバック
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • convertAndSend

      public void convertAndSend(StringSE destinationName, ObjectSE message, MessagePostProcessor postProcessor) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定されたオブジェクトを指定された宛先に送信し、オブジェクトを MessageConverter が構成された JMS メッセージに変換します。MessagePostProcessor コールバックでは、変換後にメッセージを変更できます。
      次で指定:
      インターフェース JmsOperationsconvertAndSend 
      パラメーター:
      destinationName - このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      message - メッセージに変換するオブジェクト。
      postProcessor - メッセージを変更するためのコールバック
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receive

      @Nullable public MessageEE receive() throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      デフォルトの宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      これは、デフォルトの宛先が指定されている場合にのみ機能します。

      次で指定:
      インターフェース JmsOperationsreceive 
      戻り値:
      コンシューマーが受信したメッセージ、またはタイムアウトが期限切れの場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receive

      @Nullable public MessageEE receive(DestinationEE destination) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      次で指定:
      インターフェース JmsOperationsreceive 
      パラメーター:
      destination - メッセージを受け取る宛先
      戻り値:
      コンシューマーが受信したメッセージ、またはタイムアウトが期限切れの場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receive

      @Nullable public MessageEE receive(StringSE destinationName) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      次で指定:
      インターフェース JmsOperationsreceive 
      パラメーター:
      destinationName - このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      戻り値:
      コンシューマーが受信したメッセージ、またはタイムアウトが期限切れの場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receiveSelected

      @Nullable public MessageEE receiveSelected(StringSE messageSelector) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      デフォルトの宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      これは、デフォルトの宛先が指定されている場合にのみ機能します。

      次で指定:
      インターフェース JmsOperationsreceiveSelected 
      パラメーター:
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      戻り値:
      コンシューマーが受信したメッセージ、またはタイムアウトが期限切れの場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receiveSelected

      @Nullable public MessageEE receiveSelected(DestinationEE destination, @Nullable StringSE messageSelector) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      次で指定:
      インターフェース JmsOperationsreceiveSelected 
      パラメーター:
      destination - メッセージを受け取る宛先
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      戻り値:
      コンシューマーが受信したメッセージ、またはタイムアウトが期限切れの場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receiveSelected

      @Nullable public MessageEE receiveSelected(StringSE destinationName, @Nullable StringSE messageSelector) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      次で指定:
      インターフェース JmsOperationsreceiveSelected 
      パラメーター:
      destinationName - このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      戻り値:
      コンシューマーが受信したメッセージ、またはタイムアウトが期限切れの場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • doReceive

      @Nullable protected MessageEE doReceive(SessionEE session, DestinationEE destination, @Nullable StringSE messageSelector) throws JMSExceptionEE
      JMS メッセージを受信します。
      パラメーター:
      session - 操作する JMS セッション
      destination - 受信する JMS 宛先
      messageSelector - このコンシューマーのメッセージセレクタ (null にすることができます)
      戻り値:
      受信した JMS メッセージ、ない場合は null 
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
    • doReceive

      @Nullable protected MessageEE doReceive(SessionEE session, MessageConsumerEE consumer) throws JMSExceptionEE
      実際に JMS メッセージを受信します。
      パラメーター:
      session - 操作する JMS セッション
      consumer - 受信する JMS MessageConsumer
      戻り値:
      受信した JMS メッセージ、ない場合は null 
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
    • receiveAndConvert

      @Nullable public ObjectSE receiveAndConvert() throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      デフォルトの宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。メッセージを MessageConverter が構成されたオブジェクトに変換します。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      これは、デフォルトの宛先が指定されている場合にのみ機能します。

      次で指定:
      インターフェース JmsOperationsreceiveAndConvert 
      戻り値:
      コンシューマー向けに生成されたメッセージ、またはタイムアウトが経過した場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receiveAndConvert

      @Nullable public ObjectSE receiveAndConvert(DestinationEE destination) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先から同期的にメッセージを受信しますが、指定された時間まで配信を待機します。メッセージを MessageConverter が構成されたオブジェクトに変換します。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      次で指定:
      インターフェース JmsOperationsreceiveAndConvert 
      パラメーター:
      destination - メッセージを受け取る宛先
      戻り値:
      コンシューマー向けに生成されたメッセージ、またはタイムアウトが経過した場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receiveAndConvert

      @Nullable public ObjectSE receiveAndConvert(StringSE destinationName) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先から同期的にメッセージを受信しますが、指定された時間まで配信を待機します。メッセージを MessageConverter が構成されたオブジェクトに変換します。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      次で指定:
      インターフェース JmsOperationsreceiveAndConvert 
      パラメーター:
      destinationName - このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      戻り値:
      コンシューマー向けに生成されたメッセージ、またはタイムアウトが経過した場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receiveSelectedAndConvert

      @Nullable public ObjectSE receiveSelectedAndConvert(StringSE messageSelector) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      デフォルトの宛先から同期的にメッセージを受信しますが、指定された時間までしか配信を待機しません。メッセージを MessageConverter が構成されたオブジェクトに変換します。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      これは、デフォルトの宛先が指定されている場合にのみ機能します。

      次で指定:
      インターフェース JmsOperationsreceiveSelectedAndConvert 
      パラメーター:
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      戻り値:
      コンシューマー向けに生成されたメッセージ、またはタイムアウトが経過した場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receiveSelectedAndConvert

      @Nullable public ObjectSE receiveSelectedAndConvert(DestinationEE destination, StringSE messageSelector) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先から同期的にメッセージを受信しますが、指定された時間まで配信を待機します。メッセージを MessageConverter が構成されたオブジェクトに変換します。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      次で指定:
      インターフェース JmsOperationsreceiveSelectedAndConvert 
      パラメーター:
      destination - メッセージを受け取る宛先
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      戻り値:
      コンシューマー向けに生成されたメッセージ、またはタイムアウトが経過した場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • receiveSelectedAndConvert

      @Nullable public ObjectSE receiveSelectedAndConvert(StringSE destinationName, StringSE messageSelector) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      指定された宛先から同期的にメッセージを受信しますが、指定された時間まで配信を待機します。メッセージを MessageConverter が構成されたオブジェクトに変換します。

      このメソッドは、メッセージが使用可能になるまで、またはタイムアウト値を超えるまでスレッドをブロックするため、慎重に使用する必要があります。

      次で指定:
      インターフェース JmsOperationsreceiveSelectedAndConvert 
      パラメーター:
      destinationName - このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      戻り値:
      コンシューマー向けに生成されたメッセージ、またはタイムアウトが経過した場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • doConvertFromMessage

      @Nullable protected ObjectSE doConvertFromMessage(@Nullable MessageEE message)
      指定された JMS メッセージからコンテンツを抽出します。
      パラメーター:
      message - 変換する JMS メッセージ (null にすることができます)
      戻り値:
      メッセージの内容、ない場合は null 
    • sendAndReceive

      @Nullable public MessageEE sendAndReceive(MessageCreator messageCreator) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      リクエストメッセージを送信し、デフォルトの宛先から応答を受信します。MessageCreator コールバックは、セッションが指定されたメッセージを作成します。この操作の一部として一時キューが作成され、メッセージの JMSReplyTO ヘッダーに設定されます。

      これは、デフォルトの宛先が指定されている場合にのみ機能します。

      次で指定:
      インターフェース JmsOperationssendAndReceive 
      パラメーター:
      messageCreator - リクエストメッセージを作成するためのコールバック
      戻り値:
      応答。たとえば、タイムアウトのためにメッセージを受信できなかった場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • sendAndReceive

      @Nullable public MessageEE sendAndReceive(DestinationEE destination, MessageCreator messageCreator) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      メッセージを送信し、指定された宛先から応答を受信します。MessageCreator コールバックは、セッションが指定されたメッセージを作成します。この操作の一部として一時キューが作成され、メッセージの JMSReplyTO ヘッダーに設定されます。
      次で指定:
      インターフェース JmsOperationssendAndReceive 
      パラメーター:
      destination - このメッセージの送信先
      messageCreator - メッセージを作成するためのコールバック
      戻り値:
      応答。たとえば、タイムアウトのためにメッセージを受信できなかった場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • sendAndReceive

      @Nullable public MessageEE sendAndReceive(StringSE destinationName, MessageCreator messageCreator) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      メッセージを送信し、指定された宛先から応答を受信します。MessageCreator コールバックは、セッションが指定されたメッセージを作成します。この操作の一部として一時キューが作成され、メッセージの JMSReplyTO ヘッダーに設定されます。
      次で指定:
      インターフェース JmsOperationssendAndReceive 
      パラメーター:
      destinationName - このメッセージの送信先の名前 (DestinationResolver によって実際の宛先に解決される)
      messageCreator - メッセージを作成するためのコールバック
      戻り値:
      応答。たとえば、タイムアウトのためにメッセージを受信できなかった場合は null 
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • doSendAndReceive

      @Nullable protected MessageEE doSendAndReceive(SessionEE session, DestinationEE destination, MessageCreator messageCreator) throws JMSExceptionEE
      指定された DestinationEE にリクエストメッセージを送信し、オンザフライで作成された一時キューで応答が受信されるまでブロックします。

      レスポンスメッセージを返すか、メッセージがない場合は null を返します

      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
    • browse

      @Nullable public <T> T browse(BrowserCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      デフォルトの JMS キュー内のメッセージを参照します。コールバックは、キューを参照してコンテンツに反応するために、JMS セッションと QueueBrowser へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsbrowse 
      パラメーター:
      action - セッションとブラウザーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • browse

      @Nullable public <T> T browse(QueueEE queue, BrowserCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      JMS キュー内のメッセージを参照します。コールバックは、キューを参照してコンテンツに反応するために、JMS セッションと QueueBrowser へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsbrowse 
      パラメーター:
      queue - 閲覧するキュー
      action - セッションとブラウザーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • browse

      @Nullable public <T> T browse(StringSE queueName, BrowserCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      JMS キュー内のメッセージを参照します。コールバックは、キューを参照してコンテンツに反応するために、JMS セッションと QueueBrowser へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsbrowse 
      パラメーター:
      queueName - 参照するキューの名前 (DestinationResolver によって実際の宛先に解決される)
      action - セッションとブラウザーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • browseSelected

      @Nullable public <T> T browseSelected(StringSE messageSelector, BrowserCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      JMS キューで選択したメッセージを参照します。コールバックは、キューを参照してコンテンツに反応するために、JMS セッションと QueueBrowser へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsbrowseSelected 
      パラメーター:
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      action - セッションとブラウザーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • browseSelected

      @Nullable public <T> T browseSelected(QueueEE queue, @Nullable StringSE messageSelector, BrowserCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      JMS キューで選択したメッセージを参照します。コールバックは、キューを参照してコンテンツに反応するために、JMS セッションと QueueBrowser へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsbrowseSelected 
      パラメーター:
      queue - 閲覧するキュー
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      action - セッションとブラウザーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • browseSelected

      @Nullable public <T> T browseSelected(StringSE queueName, @Nullable StringSE messageSelector, BrowserCallback<T> action) throws JmsException
      インターフェースからコピーされた説明: JmsOperations
      JMS キューで選択したメッセージを参照します。コールバックは、キューを参照してコンテンツに反応するために、JMS セッションと QueueBrowser へのアクセスを提供します。
      次で指定:
      インターフェース JmsOperationsbrowseSelected 
      パラメーター:
      queueName - 参照するキューの名前 (DestinationResolver によって実際の宛先に解決される)
      messageSelector - JMS メッセージセレクター式(ない場合は null)。セレクター式の詳細な定義については、JMS 仕様を参照してください。
      action - セッションとブラウザーのペアを公開するコールバックオブジェクト
      戻り値:
      セッションでの作業からの結果オブジェクト
      例外:
      JmsException - チェック済みの JMSException がチェックなしに変換されました
    • getConnection

      @Nullable protected ConnectionEE getConnection(JmsResourceHolder holder)
      指定された JmsResourceHolder から適切な接続をフェッチします。

      この実装は、すべての JMS 1.1 接続を受け入れます。

      パラメーター:
      holder - JmsResourceHolder
      戻り値:
      ホルダーからフェッチされた適切な接続、または見つからない場合は null 
    • getSession

      @Nullable protected SessionEE getSession(JmsResourceHolder holder)
      指定された JmsResourceHolder から適切なセッションをフェッチします。

      この実装は、すべての JMS 1.1 セッションを受け入れます。

      パラメーター:
      holder - JmsResourceHolder
      戻り値:
      ホルダーからフェッチされた適切なセッション、または見つからない場合は null 
    • isSessionLocallyTransacted

      protected boolean isSessionLocallyTransacted(SessionEE session)
      指定されたセッションがローカルでトランザクション処理されているかどうか、つまり、そのトランザクションが外部リスナーのコーディネーターではなく、このリスナーコンテナーのセッション処理によって管理されているかどうかを確認します。

      メモ: セッション自体のトランザクション済みフラグは、以前にすでにチェックされています。このメソッドは、セッションのトランザクションがローカルであるか、外部で調整されているかを確認するためのものです。

      パラメーター:
      session - チェックするセッション
      戻り値:
      指定されたセッションがローカルでトランザクションされるかどうか
      関連事項:
    • createProducer

      protected MessageProducerEE createProducer(SessionEE session, @Nullable DestinationEE destination) throws JMSExceptionEE
      指定されたセッションと宛先の JMS MessageProducer を作成し、メッセージ ID またはタイムスタンプ(あるいはその両方)を無効にするように構成します(必要な場合)。

      未加工の JMS MessageProducer を作成するための doCreateProducer(jakarta.jms.Session, jakarta.jms.Destination) へのデリゲート。

      パラメーター:
      session - MessageProducer を作成する JMS セッション
      destination - MessageProducer を作成する JMS 宛先
      戻り値:
      新しい JMS MessageProducer
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
      関連事項:
    • doCreateProducer

      protected MessageProducerEE doCreateProducer(SessionEE session, @Nullable DestinationEE destination) throws JMSExceptionEE
      指定されたセッションと宛先の raw JMS MessageProducer を作成します。

      この実装では、JMS 1.1 API を使用します。

      パラメーター:
      session - MessageProducer を作成する JMS セッション
      destination - MessageProducer を作成する JMS 宛先
      戻り値:
      新しい JMS MessageProducer
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
    • createConsumer

      protected MessageConsumerEE createConsumer(SessionEE session, DestinationEE destination, @Nullable StringSE messageSelector) throws JMSExceptionEE
      指定されたセッションと宛先の JMS MessageConsumer を作成します。

      この実装では、JMS 1.1 API を使用します。

      パラメーター:
      session - MessageConsumer を作成する JMS セッション
      destination - MessageConsumer を作成する JMS 宛先
      messageSelector - このコンシューマーのメッセージセレクタ (null にすることができます)
      戻り値:
      新しい JMS MessageConsumer
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
    • createBrowser

      protected QueueBrowserEE createBrowser(SessionEE session, QueueEE queue, @Nullable StringSE messageSelector) throws JMSExceptionEE
      指定されたセッションと宛先の JMS MessageProducer を作成し、メッセージ ID またはタイムスタンプ(あるいはその両方)を無効にするように構成します(必要な場合)。

      未加工の JMS MessageProducer を作成するための doCreateProducer(jakarta.jms.Session, jakarta.jms.Destination) へのデリゲート。

      パラメーター:
      session - QueueBrowser を作成する JMS セッション
      queue - QueueBrowser を作成する JMS キュー
      messageSelector - このコンシューマーのメッセージセレクタ (null にすることができます)
      戻り値:
      新しい JMS QueueBrowser
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
      関連事項: