クラス AbstractMessageChannel

java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
実装されたすべてのインターフェース:
AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareExpressionCapableIntegrationPatternNamedComponentIntegrationManagementTrackableComponentMessageChannelInterceptableChannel
既知の直属サブクラス
AbstractAmqpChannelAbstractJmsChannelAbstractKafkaChannelAbstractPollableChannelAbstractSubscribableChannelFluxMessageChannelSubscribableRedisChannelZeroMqChannel

チャネル名などの一般的なプロパティを提供する MessageChannel 実装の基本クラス。また、ChannelInterceptors の呼び出しを含む、Messages を送受信するための共通機能も提供します。
作成者:
Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan, Christian Tzolov
  • フィールドの詳細

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

    • AbstractMessageChannel

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

    • getComponentType

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

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

      public void setShouldTrack(boolean shouldTrack)
      次で指定:
      インターフェース TrackableComponentsetShouldTrack 
    • registerMetricsCaptor

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

      @Nullable protected MetricsCaptor getMetricsCaptor()
    • isLoggingEnabled

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

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

      public void setDatatypes(ClassSE<?>... datatypes)
      このチャネルでサポートされているメッセージペイロードデータ型を指定します。ペイロード型が直接一致しないが、"conversionService" が使用可能な場合、この配列で提供される要素の順序で型変換が試行されます。

      このプロパティが明示的に設定されていない場合、すべてのメッセージペイロード型が受け入れられます。

      パラメーター:
      datatypes - サポートされているデータ型。
      関連事項:
    • setInterceptors

      public void setInterceptors(ListSE<ChannelInterceptor> interceptors)
      チャネルインターセプターのリストを設定します。これにより、既存のインターセプターがすべてクリアされます。
      次で指定:
      インターフェース InterceptableChannelsetInterceptors 
      パラメーター:
      interceptors - インターセプターのリスト。
    • addInterceptor

      public void addInterceptor(ChannelInterceptor interceptor)
      リストの最後にチャネルインターセプターを追加します。
      次で指定:
      インターフェース InterceptableChanneladdInterceptor 
      パラメーター:
      interceptor - インターセプター。
    • addInterceptor

      public void addInterceptor(int index, ChannelInterceptor interceptor)
      リストの指定されたインデックスにチャネルインターセプターを追加します。
      次で指定:
      インターフェース InterceptableChanneladdInterceptor 
      パラメーター:
      index - インターセプターを追加するためのインデックス。
      interceptor - インターセプター。
    • setMessageConverter

      public void setMessageConverter(MessageConverter messageConverter)
      ペイロードがまだ一致していないメッセージに対して、このチャネルでサポートされているデータ型の 1 つに(順番に)変換しようとするときに使用する MessageConverter を指定します。

      注意 : MessageConverter.fromMessage(Message, Class) メソッドのみが使用されます。返されたオブジェクトが Message でない場合、受信ヘッダーがコピーされます。返されたオブジェクトが Message の場合、コンバーターはヘッダーに完全に入力されていると予想されます。チャネルはそれ以上のアクションを実行しません。null が返されると、次のデータ型(存在する場合)への変換が試行されます。デフォルトは DefaultDatatypeChannelMessageConverter です。

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

      public void setObservationConvention(@Nullable MessageSenderObservationConvention observationConvention)
    • getInterceptors

      public ListSE<ChannelInterceptor> getInterceptors()
      構成されたインターセプターの読み取り専用リストを返します。
      次で指定:
      インターフェース InterceptableChannelgetInterceptors 
    • removeInterceptor

      public boolean removeInterceptor(ChannelInterceptor interceptor)
      次で指定:
      インターフェース InterceptableChannelremoveInterceptor 
    • removeInterceptor

      @Nullable public ChannelInterceptor removeInterceptor(int index)
      次で指定:
      インターフェース InterceptableChannelremoveInterceptor 
    • getIChannelInterceptorList

      protected AbstractMessageChannel.ChannelInterceptorList getIChannelInterceptorList()
      サブクラスのインターセプターリストインスタンスを公開します。
      戻り値:
      チャネルインターセプターリスト。
    • getOverrides

      インターフェースからコピーされた説明: IntegrationManagement
      オーバーライドを返します。
      次で指定:
      インターフェース IntegrationManagementgetOverrides 
      戻り値:
      オーバーライド。
    • 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。
    • onInit

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

      public StringSE getFullChannelName()
      可能な場合は、アプリケーションコンテキスト ID を含む完全修飾チャネル名を返します。
      戻り値:
      名前。
    • send

      public boolean send(Message<?> message)
      このチャネルでメッセージを送信します。チャネルが容量に達した場合、このメソッドは、スペースが使用可能になるか、送信スレッドが中断されるまでブロックします。
      次で指定:
      インターフェース MessageChannelsend 
      パラメーター:
      message - 送信するメッセージ
      戻り値:
      メッセージが正常に送信された場合は true、送信スレッドが中断された場合は false
    • send

      public boolean send(Message<?> messageArg, long timeout)
      このチャネルでメッセージを送信します。チャネルが容量に達している場合、このメソッドは、タイムアウトが発生するか、送信スレッドが中断されるまでブロックします。指定されたタイムアウトが 0 の場合、メソッドはすぐに戻ります。ゼロ未満の場合、無期限にブロックされます(send(Message) を参照)。
      次で指定:
      インターフェース MessageChannelsend 
      パラメーター:
      messageArg - 送信するメッセージ
      timeout - ミリ秒単位のタイムアウト
      戻り値:
      メッセージが正常に送信された場合は true、割り当てられた時間内にメッセージを送信できない場合、または送信スレッドが中断された場合は false
    • doSend

      protected abstract boolean doSend(Message<?> message, long timeout)
      サブクラスはこのメソッドを実装する必要があります。負でないタイムアウトは、チャネルが容量に達した場合に待機する時間を示します(値が 0 の場合、成功の有無にかかわらずすぐに戻る必要があります)。負のタイムアウト値は、メッセージが受け入れられるか、ブロッキングスレッドが中断されるまでメソッドがブロックされることを示します。
      パラメーター:
      message - メッセージ。
      timeout - タイムアウト。
      戻り値:
      send が成功した場合は true。
    • destroy

      public void destroy()
      次で指定:
      インターフェース DisposableBeandestroy 
      次で指定:
      インターフェース IntegrationManagementdestroy