クラス MessagingGatewaySupport

実装されたすべてのインターフェース:
AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareLifecyclePhasedSmartLifecycleExpressionCapableIntegrationPatternNamedComponentIntegrationInboundManagementIntegrationManagementManageableLifecycleManageableSmartLifecycleTrackableComponent
既知の直属サブクラス
AbstractWebServiceInboundGatewayAmqpInboundGatewayBaseHttpInboundEndpointJmsInboundGatewayKafkaInboundGatewayRedisQueueInboundGatewayRSocketInboundGatewayTcpInboundGateway

送信、受信、リクエスト / 応答操作のためにアプリケーションコードを MessageChannel に接続するための便利な基本クラス。リクエストと応答の MessageChannel を構成するための setter と、メッセージを送受信するためのタイムアウト値を公開します。
作成者:
Mark Fisher, Gary Russell, Artem Bilan, Trung Pham, Christian Tzolov
  • フィールドの詳細

  • コンストラクターの詳細

    • MessagingGatewaySupport

      public MessagingGatewaySupport()
      応答がない場合に null を返すインスタンスを作成します。
    • MessagingGatewaySupport

      public MessagingGatewaySupport(boolean errorOnTimeout)
      errorOnTimeout が true の場合、応答が期待されても何も受信されない場合に、MessageTimeoutException ペイロードを含む ErrorMessage をエラーチャネルに送信するインスタンスを作成します。エラーチャネルが設定されていない場合、MessageTimeoutException がスローされます。
      パラメーター:
      errorOnTimeout - エラーメッセージを作成するには true。
      導入:
      4.2
      関連事項:
  • メソッドの詳細

    • setErrorOnTimeout

      public void setErrorOnTimeout(boolean errorOnTimeout)
      errorOnTimeout が true の場合、応答が期待されても何も受信されない場合に、MessageTimeoutException ペイロードを含む ErrorMessage をエラーチャネルに送信するインスタンスを作成します。エラーチャネルが設定されていない場合、MessageTimeoutException がスローされます。
      パラメーター:
      errorOnTimeout - true の場合、応答タイムアウト時にエラーメッセージを作成します。
      導入:
      5.2.2
    • setRequestChannel

      public void setRequestChannel(MessageChannel requestChannel)
      リクエストチャネルを設定します。
      パラメーター:
      requestChannel - リクエストメッセージの送信先のチャネル
    • setRequestChannelName

      public void setRequestChannelName(StringSE requestChannelName)
      リクエストチャンネル名を設定します。
      パラメーター:
      requestChannelName - リクエストメッセージの送信先となるチャネル Bean 名
      導入:
      4.1
    • setReplyChannel

      public void setReplyChannel(MessageChannel replyChannel)
      返信チャンネルを設定します。応答チャネルが提供されていない場合、このゲートウェイは常に匿名の一時チャネルを使用して応答を処理します。
      パラメーター:
      replyChannel - 返信メッセージの受信元のチャネル
    • setReplyChannelName

      public void setReplyChannelName(StringSE replyChannelName)
      返信チャンネル名を設定します。応答チャネルが提供されていない場合、このゲートウェイは常に匿名の一時チャネルを使用して応答を処理します。
      パラメーター:
      replyChannelName - 応答メッセージの受信元となるチャネル Bean 名
      導入:
      4.1
    • setErrorChannel

      public void setErrorChannel(MessageChannel errorChannel)
      エラーチャンネルを設定します。エラーチャネルが提供されていない場合、このゲートウェイは例外を呼び出し元に伝達します。例外を完全に抑制するには、ここで "nullChannel" への参照を提供します。
      パラメーター:
      errorChannel - エラーチャネル。
    • setErrorChannelName

      public void setErrorChannelName(StringSE errorChannelName)
      エラーチャネル名を設定します。エラーチャネルが提供されていない場合、このゲートウェイは例外を呼び出し元に伝達します。例外を完全に抑制するには、ここで "nullChannel" への参照を提供します。
      パラメーター:
      errorChannelName - エラーチャネル Bean 名。
      導入:
      4.1
    • setRequestTimeout

      public void setRequestTimeout(long requestTimeout)
      リクエストメッセージを送信するためのタイムアウト値を設定します。明示的に設定されていない場合、デフォルトは 1 秒です。
      パラメーター:
      requestTimeout - ミリ秒単位のタイムアウト値
    • setReplyTimeout

      public void setReplyTimeout(long replyTimeout)
      応答メッセージを受信するためのタイムアウト値を設定します。明示的に設定されていない場合、デフォルトは 1 秒です。
      パラメーター:
      replyTimeout - ミリ秒単位のタイムアウト値
    • setRequestMapper

      public void setRequestMapper(@Nullable InboundMessageMapper<?> requestMapper)
      send または sendAndReceive 操作で渡された任意のオブジェクトからリクエストメッセージを作成するための InboundMessageMapper を提供します。
      パラメーター:
      requestMapper - リクエストマッパー。
    • setReplyMapper

      public void setReplyMapper(OutboundMessageMapper<?> replyMapper)
      receive または sendAndReceive 操作で受信した応答メッセージからオブジェクトにマッピングするための OutboundMessageMapper を提供します。
      パラメーター:
      replyMapper - 返信マッパー。
    • setShouldTrack

      public void setShouldTrack(boolean shouldTrack)
      このゲートウェイを、送信操作または sendAndReceive 操作から発信されたメッセージのメッセージ履歴で追跡する必要があるかどうかを指定します。
      次で指定:
      インターフェース TrackableComponentsetShouldTrack 
    • getComponentType

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

      public void setLoggingEnabled(boolean enabled)
      インターフェースからコピーされた説明: IntegrationManagement
      ロギングを有効にするかどうか。
      次で指定:
      インターフェース IntegrationManagementsetLoggingEnabled 
      パラメーター:
      enabled - 無効にする場合は false。
    • isLoggingEnabled

      public boolean isLoggingEnabled()
      インターフェースからコピーされた説明: IntegrationManagement
      ロギングが有効かどうかを返します。
      次で指定:
      インターフェース IntegrationManagementisLoggingEnabled 
      戻り値:
      有効な場合は true。
    • setErrorMessageStrategy

      public final void setErrorMessageStrategy(ErrorMessageStrategy errorMessageStrategy)
      例外が発生したときにエラーメッセージを作成するために使用する ErrorMessageStrategy を設定します。デフォルトは DefaultErrorMessageStrategy です。
      パラメーター:
      errorMessageStrategy - ErrorMessageStrategy
      導入:
      4.3.10
    • getErrorMessageStrategy

      protected ErrorMessageStrategy getErrorMessageStrategy()
      例外が発生したときにエラーメッセージを作成するために使用する ErrorMessageStrategy を取得します。デフォルトは DefaultErrorMessageStrategy です。
      戻り値:
      エラーメッセージ戦略。
      導入:
      6.0
    • getOverrides

      インターフェースからコピーされた説明: IntegrationManagement
      オーバーライドを返します。
      次で指定:
      インターフェース IntegrationManagementgetOverrides 
      戻り値:
      オーバーライド。
    • setManagedType

      public void setManagedType(StringSE managedType)
      次で指定:
      インターフェース IntegrationManagementsetManagedType 
    • getManagedType

      public StringSE getManagedType()
      次で指定:
      インターフェース IntegrationManagementgetManagedType 
    • setManagedName

      public void setManagedName(StringSE managedName)
      次で指定:
      インターフェース IntegrationManagementsetManagedName 
    • getManagedName

      public StringSE getManagedName()
      次で指定:
      インターフェース IntegrationManagementgetManagedName 
    • getIntegrationPatternType

      public IntegrationPatternType getIntegrationPatternType()
      インターフェースからコピーされた説明: IntegrationPattern
      このコンポーネントが実装するパターン型を返します。
      次で指定:
      インターフェース IntegrationPatterngetIntegrationPatternType 
      戻り値:
      このコンポーネントが実装する IntegrationPatternType
    • registerMetricsCaptor

      public void registerMetricsCaptor(MetricsCaptor metricsCaptorToRegister)
      インターフェースからコピーされた説明: IntegrationManagement
      MetricsCaptor を注入します。ObservationRegistry が指定されている場合は無視されます。
      次で指定:
      インターフェース IntegrationManagementregisterMetricsCaptor 
      パラメーター:
      metricsCaptorToRegister - キャプター。
      関連事項:
    • registerObservationRegistry

      public void registerObservationRegistry(io.micrometer.observation.ObservationRegistry observationRegistry)
      インターフェースからコピーされた説明: IntegrationManagement
      ObservationRegistry を注入します。指定された場合、MetricsCaptor は無視されます。メーターのキャプチャーは、提供された ObservationRegistry で ObservationHandler として構成する必要があります。
      次で指定:
      インターフェース IntegrationManagementregisterObservationRegistry 
      パラメーター:
      observationRegistry - コンポーネントからの観察結果を公開する ObservationRegistry
      関連事項:
    • isObserved

      public boolean isObserved()
      インターフェースからコピーされた説明: IntegrationManagement
      この実装が ObservationRegistry.NOOP インスタンス以外のレジストリを処理する場合は true。
      次で指定:
      インターフェース IntegrationManagementisObserved 
      戻り値:
      この実装が ObservationRegistry.NOOP インスタンス以外のレジストリを処理する場合は true。
    • setObservationConvention

      public void setObservationConvention(@Nullable MessageRequestReplyReceiverObservationConvention observationConvention)
    • setReceiverObservationConvention

      public void setReceiverObservationConvention(MessageReceiverObservationConvention receiverObservationConvention)
    • onInit

      protected void onInit()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスは、初期化ロジック用にこれを実装できます。
      オーバーライド:
      クラス AbstractEndpointonInit 
    • getRequestChannel

      @Nullable public MessageChannel getRequestChannel()
      このゲートウェイのリクエストチャネルを返します。
      戻り値:
      チャンネル。
      導入:
      4.2
    • getReplyChannel

      @Nullable public MessageChannel getReplyChannel()
      このゲートウェイの応答チャネルがある場合はそれを返します。
      戻り値:
      応答チャネルインスタンス
      導入:
      5.1
    • getErrorChannel

      @Nullable public MessageChannel getErrorChannel()
      エラーメッセージがルーティングされるエラーチャネル(提供されている場合)を返します。
      戻り値:
      チャネルまたは null。
      導入:
      4.3
    • send

      protected void send(ObjectSE object)
    • receive

      @Nullable protected ObjectSE receive()
    • receiveMessage

      @Nullable protected Message<?> receiveMessage()
    • receive

      @Nullable protected ObjectSE receive(long timeout)
    • receiveMessage

      @Nullable protected Message<?> receiveMessage(long timeout)
    • sendAndReceive

      @Nullable protected ObjectSE sendAndReceive(ObjectSE object)
    • sendAndReceiveMessage

      @Nullable protected Message<?> sendAndReceiveMessage(ObjectSE object)
    • sendAndReceiveMessageReactive

      protected reactor.core.publisher.Mono<Message<?>> sendAndReceiveMessageReactive(ObjectSE object)
    • sendTimer

      protected TimerFacade sendTimer()
    • buildSendTimer

      protected TimerFacade buildSendTimer(boolean success, StringSE exception)
    • buildErrorMessage

      protected final ErrorMessage buildErrorMessage(@Nullable Message<?> requestMessage, ThrowableSE throwable)
      メッセージのエラーメッセージを作成し、構成済みの ErrorMessageStrategy を使用してスロー可能にします。
      パラメーター:
      requestMessage - requestMessage。
      throwable - スローアブル。
      戻り値:
      エラーメッセージ。
      導入:
      4.3.10
    • getErrorMessageAttributes

      protected AttributeAccessor getErrorMessageAttributes(@Nullable Message<?> message)
      errorMessageStrategy でエラーメッセージを作成するときに使用する AttributeAccessor を設定します。
      パラメーター:
      message - メッセージ。
      戻り値:
      属性。
      導入:
      4.3.10
    • registerReplyMessageCorrelatorIfNecessary

      protected void registerReplyMessageCorrelatorIfNecessary()
    • doStart

      protected void doStart()
      クラスからコピーされた説明: AbstractEndpoint
      サブクラスは、開始動作でこのメソッドを実装する必要があります。このメソッドは、AbstractEndpoint.lifecycleLock を保持しているときに呼び出されます。
      次で指定:
      クラス AbstractEndpointdoStart 
    • doStop

      protected void doStop()
      クラスからコピーされた説明: AbstractEndpoint
      サブクラスは、停止動作でこのメソッドを実装する必要があります。このメソッドは、AbstractEndpoint.lifecycleLock を保持しているときに呼び出されます。
      次で指定:
      クラス AbstractEndpointdoStop 
    • destroy

      public void destroy()
      次で指定:
      インターフェース DisposableBeandestroy 
      次で指定:
      インターフェース IntegrationManagementdestroy 
      オーバーライド:
      クラス AbstractEndpointdestroy