クラス JmsOutboundGateway

実装されたすべてのインターフェース:
MessageListenerEEorg.reactivestreams.Subscriber<Message<?>>AwareBeanClassLoaderAwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareLifecycleOrderedExpressionCapableOrderableMessageProducerHeaderPropagationAwareIntegrationPatternNamedComponentIntegrationManagementManageableLifecycleTrackableComponentMessageHandlerreactor.core.CoreSubscriber<Message<?>>

public class JmsOutboundGateway extends AbstractReplyProducingMessageHandler implements ManageableLifecycle, MessageListenerEE
リクエスト / 応答 JMS の送信メッセージングゲートウェイ。
作成者:
Mark Fisher, Arjen Poutsma, Juergen Hoeller, Oleg Zhurakousky, Gary Russell, Artem Bilan, Christian Tzolov
  • フィールドの詳細

    • DEFAULT_RECEIVE_TIMEOUT

      public static final long DEFAULT_RECEIVE_TIMEOUT
      デフォルトの受信タイムアウト(ミリ秒)。
      関連事項:
  • コンストラクターの詳細

    • JmsOutboundGateway

      public JmsOutboundGateway()
  • メソッドの詳細

    • setDeliveryPersistent

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

      デフォルトは "true"、つまり配信モードは "PERSISTENT" です。

      パラメーター:
      deliveryPersistent - 持続的配信の場合は true。
      関連事項:
    • setConnectionFactory

      public void setConnectionFactory(ConnectionFactoryEE connectionFactory)
      このゲートウェイが使用する JMS ConnectionFactory を設定します。これは必須のプロパティです。
      パラメーター:
      connectionFactory - 接続ファクトリ。
    • setRequestDestination

      public void setRequestDestination(DestinationEE requestDestination)
      リクエストメッセージの送信先となる JMS 宛先を設定します。これまたは "requestDestinationName" または "requestDestinationExpression" のいずれかが必要です。
      パラメーター:
      requestDestination - リクエスト先。
    • setRequestDestinationName

      public void setRequestDestinationName(StringSE requestDestinationName)
      リクエストメッセージの送信先となる JMS 宛先の名前を設定します。これまたは "requestDestination" または "requestDestinationExpression" のいずれかが必要です。
      パラメーター:
      requestDestinationName - リクエスト宛先名。
    • setRequestDestinationExpression

      public void setRequestDestinationExpression(Expression requestDestinationExpression)
      リクエストの宛先インスタンスまたはリクエストの宛先名を決定するために使用される SpEL 式を設定します。これまたは "requestDestination" または "requestDestinationName" のいずれかが必要です。
      パラメーター:
      requestDestinationExpression - リクエスト宛先の式。
    • setReplyDestination

      public void setReplyDestination(DestinationEE replyDestination)
      応答メッセージを受信する JMS 宛先を設定します。何も指定されていない場合、このゲートウェイは呼び出しごとに TemporaryQueueEE を作成します。
      パラメーター:
      replyDestination - 返信先。
    • setReplyDestinationName

      public void setReplyDestinationName(StringSE replyDestinationName)
      応答メッセージを受信する JMS 宛先の名前を設定します。何も指定されていない場合、このゲートウェイは呼び出しごとに TemporaryQueueEE を作成します。
      パラメーター:
      replyDestinationName - 返信先の名前。
    • setReplyDestinationExpression

      public void setReplyDestinationExpression(Expression replyDestinationExpression)
      応答宛先インスタンスまたは応答宛先名を決定するために使用される SpEL 式を設定します。これまたは "replyDestination" または "replyDestinationName" のいずれかが必要です。
      パラメーター:
      replyDestinationExpression - 返信先の表現。
    • setDestinationResolver

      public void setDestinationResolver(DestinationResolver destinationResolver)
      "requestDestinationName" または "replyDestinationName" の値を解決するときに使用する DestinationResolver を提供します。デフォルトは DynamicDestinationResolver のインスタンスです。
      パラメーター:
      destinationResolver - 宛先リゾルバー。
    • setRequestPubSubDomain

      public void setRequestPubSubDomain(boolean requestPubSubDomain)
      リクエスト先がトピックかどうかを指定します。この値は、宛先参照ではなくトピックの宛先名を指定するときに必要です。
      パラメーター:
      requestPubSubDomain - リクエストの宛先がトピックの場合は true。
    • setReplyPubSubDomain

      public void setReplyPubSubDomain(boolean replyPubSubDomain)
      返信先がトピックかどうかを指定します。この値は、宛先参照ではなくトピックの宛先名を指定するときに必要です。
      パラメーター:
      replyPubSubDomain - 返信先がトピックの場合は true。
    • setReceiveTimeout

      public void setReceiveTimeout(long receiveTimeout)
      応答を待つときの MessageConsumer の受信呼び出しの最大タイムアウト値を設定します。デフォルト値は 5 秒です。
      パラメーター:
      receiveTimeout - 受信タイムアウト。
    • setDefaultPriority

      public void setDefaultPriority(int priority)
      IntegrationMessageHeaderAccessor.PRIORITY ヘッダーのないリクエストメッセージを送信するときに使用するデフォルトの JMS 優先度を指定します。値は 0 から 9 の範囲内でなければなりません。
      パラメーター:
      priority - 優先順位。
      導入:
      5.1.2
    • setTimeToLive

      public void setTimeToLive(long timeToLive)
      送信された各メッセージの timeToLive を指定します。デフォルト値は無期限を示します。
      パラメーター:
      timeToLive - 生きる時間。
    • setExplicitQosEnabled

      public void setExplicitQosEnabled(boolean explicitQosEnabled)
      明示的な QoS 設定を有効にするかどうかを指定します(deliveryMode、priority、timeToLive)。
      パラメーター:
      explicitQosEnabled - 明示的な QoS を有効にする場合は true。
    • setCorrelationKey

      public void setCorrelationKey(StringSE correlationKey)
      JMS メッセージの受信者が CorrelationID を表すと期待する生成された UUID を保持する必要がある JMS プロパティの名前を指定します。応答メッセージを待機するとき、MessageSelector は、このプロパティ名とリクエストで送信された UUID 値を照合するように構成されます。

      この値が NULL(デフォルト)の場合、応答コンシューマーの MessageSelector は、JMSCorrelationID がリクエストのメッセージ ID と等しいことを期待します。

      送信相関 UUID 値を実際の JMSCorrelationID プロパティに格納する場合は、この値を "JMSCorrelationID" に設定します。

      受信メッセージの既存の "JMSCorrelationID" ( "jms_correlationId" からマッピング)を使用する場合は、このプロパティを "JMSCorrelationID *" にアスタリスクを付けて設定できます。メッセージに相関 ID がある場合はそれが使用され、そうでない場合は "JMSCorrelationID" ヘッダーに新しいものが設定されます。ただし、ゲートウェイには一意性を保証する手段がなく、相関 ID が一意でない場合、予期しない副作用が発生する可能性があることを理解しましょう。

      応答リスナーが使用されている場合、この設定は許可されません。

      パラメーター:
      correlationKey - 相関キー。
    • setMessageConverter

      public void setMessageConverter(MessageConverter messageConverter)
      Spring Integration リクエストメッセージを JMS メッセージに変換し、JMS 応答メッセージを Spring Integration メッセージに戻すために使用する MessageConverter 戦略を提供します。

      デフォルトは SimpleMessageConverter です。

      パラメーター:
      messageConverter - メッセージコンバーター。
    • setHeaderMapper

      public void setHeaderMapper(JmsHeaderMapper headerMapper)
      Spring Integration メッセージヘッダーを JMS メッセージプロパティとの間でマッピングするための JmsHeaderMapper 実装を提供します。
      パラメーター:
      headerMapper - ヘッダーマッパー。
    • setExtractRequestPayload

      public void setExtractRequestPayload(boolean extractRequestPayload)
      このプロパティは、Spring Integration メッセージから JMS メッセージを生成する方法を記述します。'true' に設定すると、JMS メッセージの本文は Spring Integration メッセージのペイロードから(MessageConverter を介して)作成されます。'false' に設定すると、Spring Integration メッセージ全体が JMS メッセージ作成のベースとして機能します。JMS メッセージは MessageConverter によって作成されるため、これは MessageConverter に送信されるもの(Spring Integration メッセージ全体またはそのペイロードのみ)を実際に管理します。デフォルトは "true" です。
      パラメーター:
      extractRequestPayload - true の場合、リクエストペイロードを抽出します。
    • setExtractReplyPayload

      public void setExtractReplyPayload(boolean extractReplyPayload)
      このプロパティは、JMS 応答メッセージの処理方法を説明します。'true' に設定すると、Spring Integration メッセージのペイロードは JMS 応答メッセージの本文から(MessageConverter を介して)作成されます。それ以外の場合、JMS メッセージ全体が Spring Integration メッセージのペイロードになります。
      パラメーター:
      extractReplyPayload - 応答ペイロードを抽出する場合は true。
    • setReplyChannel

      public void setReplyChannel(MessageChannel replyChannel)
      Spring Integration 応答チャネルを指定します。このプロパティが設定されていない場合、ゲートウェイはリクエストの "replyChannel" ヘッダーをチェックします。
      パラメーター:
      replyChannel - 返信チャンネル。
    • setReplyContainerProperties

      public void setReplyContainerProperties(JmsOutboundGateway.ReplyContainerProperties replyContainerProperties)
      パラメーター:
      replyContainerProperties - 設定する replyContainerProperties
    • getComponentType

      public StringSE getComponentType()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。
      次で指定:
      インターフェース NamedComponentgetComponentType 
      オーバーライド:
      クラス MessageHandlerSupportgetComponentType 
    • setUseReplyContainer

      public void setUseReplyContainer(boolean useReplyContainer)
      パラメーター:
      useReplyContainer - 設定する useReplyContainer
    • setRequiresReply

      public void setRequiresReply(boolean requiresReply)
      クラスからコピーされた説明: AbstractReplyProducingMessageHandler
      返信が必要かどうかのフラグ。true の場合、受信メッセージは応答メッセージの送信につながる必要があります。false の場合、受信メッセージにより、返信メッセージが送信される場合があります。デフォルトは false です。
      オーバーライド:
      クラス AbstractReplyProducingMessageHandlersetRequiresReply 
      パラメーター:
      requiresReply - 返信が必要な場合は true。
    • setIdleReplyContainerTimeout

      public void setIdleReplyContainerTimeout(long idleReplyContainerTimeout)
      アイドル状態のコンテナーのターゲットタイムアウトを秒単位で設定します。これをゼロより大きく設定すると、応答リスナーコンテナーの遅延開始が有効になります。メッセージが送信されると、コンテナーが起動します。少なくとも今回はアイドル状態になると停止します。今回の実際の停止時間は 1.5x までです。
      パラメーター:
      idleReplyContainerTimeout - 秒単位のタイムアウト。
      導入:
      4.2
    • setIdleReplyContainerTimeout

      public void setIdleReplyContainerTimeout(long idleReplyContainerTimeout, TimeUnitSE unit)
      アイドル状態のコンテナーのターゲットタイムアウトを設定します。これをゼロより大きく設定すると、応答リスナーコンテナーの遅延開始が有効になります。メッセージが送信されると、コンテナーが起動します。少なくとも今回はアイドル状態になると停止します。今回の実際の停止時間は 1.5x までです。
      パラメーター:
      idleReplyContainerTimeout - 秒単位のタイムアウト。
      unit - 時間の単位。
      導入:
      4.2
    • doInit

      protected void doInit()
      オーバーライド:
      クラス AbstractReplyProducingMessageHandlerdoInit 
    • start

      public void start()
      次で指定:
      インターフェース Lifecyclestart 
      次で指定:
      インターフェース ManageableLifecyclestart 
    • stop

      public void stop()
      次で指定:
      インターフェース Lifecyclestop 
      次で指定:
      インターフェース ManageableLifecyclestop 
    • isRunning

      public boolean isRunning()
      次で指定:
      インターフェース LifecycleisRunning 
      次で指定:
      インターフェース ManageableLifecycleisRunning 
    • handleRequestMessage

      protected ObjectSE handleRequestMessage(Message<?> requestMessage)
      クラスからコピーされた説明: AbstractReplyProducingMessageHandler
      サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。
      次で指定:
      クラス AbstractReplyProducingMessageHandlerhandleRequestMessage 
      パラメーター:
      requestMessage - リクエストメッセージ。
      戻り値:
      メッセージを処理した結果、または null
    • createConnection

      protected ConnectionEE createConnection() throws JMSExceptionEE
      この JMS ゲートウェイの新しい JMS 接続を作成します。
      戻り値:
      接続。
      例外:
      JMSExceptionEE - すべての JMSException。
    • createSession

      protected SessionEE createSession(ConnectionEE connection) throws JMSExceptionEE
      提供された接続を使用して新しい JMS セッションを作成します。
      パラメーター:
      connection - 接続。
      戻り値:
      セッション。
      例外:
      JMSExceptionEE - すべての JMSException。
    • onMessage

      public void onMessage(MessageEE message)
      次で指定:
      インターフェース MessageListenerEEonMessageEE