クラス AbstractMessageChannel
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
- 実装されたすべてのインターフェース:
Aware
、BeanFactoryAware
、BeanNameAware
、DisposableBean
、InitializingBean
、ApplicationContextAware
、ComponentSourceAware
、ExpressionCapable
、IntegrationPattern
、NamedComponent
、IntegrationManagement
、TrackableComponent
、MessageChannel
、InterceptableChannel
- 既知の直属サブクラス
AbstractAmqpChannel
、AbstractJmsChannel
、AbstractKafkaChannel
、AbstractPollableChannel
、AbstractSubscribableChannel
、FluxMessageChannel
、SubscribableRedisChannel
、ZeroMqChannel
@IntegrationManagedResource
public abstract class AbstractMessageChannel
extends IntegrationObjectSupport
implements MessageChannel, TrackableComponent, InterceptableChannel, IntegrationManagement, IntegrationPattern
チャネル名などの一般的なプロパティを提供する
MessageChannel
実装の基本クラス。また、ChannelInterceptors
の呼び出しを含む、Messages
を送受信するための共通機能も提供します。- 作成者:
- Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan, Christian Tzolov
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明protected static class
ChannelInterceptors のリストの便利なラッパークラス。インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverrides
フィールドのサマリー
フィールド修飾子と型フィールド説明protected final AbstractMessageChannel.ChannelInterceptorList
protected final SetSE
<MeterFacade> クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, logger
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
インターフェース org.springframework.messaging.MessageChannel から継承されたフィールド
INDEFINITE_TIMEOUT
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
addInterceptor
(int index, ChannelInterceptor interceptor) リストの指定されたインデックスにチャネルインターセプターを追加します。void
addInterceptor
(ChannelInterceptor interceptor) リストの最後にチャネルインターセプターを追加します。void
destroy()
protected abstract boolean
サブクラスはこのメソッドを実装する必要があります。サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。可能な場合は、アプリケーションコンテキスト ID を含む完全修飾チャネル名を返します。サブクラスのインターセプターリストインスタンスを公開します。このコンポーネントが実装するパターン型を返します。構成されたインターセプターの読み取り専用リストを返します。protected MetricsCaptor
オーバーライドを返します。boolean
ロギングが有効かどうかを返します。boolean
この実装がObservationRegistry.NOOP
インスタンス以外のレジストリを処理する場合は true。protected void
onInit()
サブクラスは、初期化ロジック用にこれを実装できます。void
registerMetricsCaptor
(MetricsCaptor metricsCaptorToRegister) MetricsCaptor
を注入します。void
registerObservationRegistry
(io.micrometer.observation.ObservationRegistry observationRegistry) ObservationRegistry
を注入します。removeInterceptor
(int index) boolean
removeInterceptor
(ChannelInterceptor interceptor) boolean
このチャネルでメッセージを送信します。boolean
このチャネルでメッセージを送信します。void
setDatatypes
(ClassSE<?>... datatypes) このチャネルでサポートされているメッセージペイロードデータ型を指定します。void
setInterceptors
(ListSE<ChannelInterceptor> interceptors) チャネルインターセプターのリストを設定します。void
setLoggingEnabled
(boolean loggingEnabled) ロギングを有効にするかどうか。void
setMessageConverter
(MessageConverter messageConverter) ペイロードがまだ一致していないメッセージに対して、このチャネルでサポートされているデータ型の 1 つに(順番に)変換しようとするときに使用するMessageConverter
を指定します。void
setObservationConvention
(MessageSenderObservationConvention observationConvention) void
setShouldTrack
(boolean shouldTrack) クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getManagedName, getManagedType, getThisAs, setManagedName, setManagedType
インターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
フィールドの詳細
interceptors
meters
コンストラクターの詳細
AbstractMessageChannel
public AbstractMessageChannel()
メソッドの詳細
getComponentType
クラスからコピーされた説明:IntegrationObjectSupport
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
NamedComponent
のgetComponentType
- オーバーライド:
- クラス
IntegrationObjectSupport
のgetComponentType
getIntegrationPatternType
インターフェースからコピーされた説明:IntegrationPattern
このコンポーネントが実装するパターン型を返します。- 次で指定:
- インターフェース
IntegrationPattern
のgetIntegrationPatternType
- 戻り値:
- このコンポーネントが実装する
IntegrationPatternType
setShouldTrack
public void setShouldTrack(boolean shouldTrack) - 次で指定:
- インターフェース
TrackableComponent
のsetShouldTrack
registerMetricsCaptor
インターフェースからコピーされた説明:IntegrationManagement
MetricsCaptor
を注入します。ObservationRegistry
が指定されている場合は無視されます。- 次で指定:
- インターフェース
IntegrationManagement
のregisterMetricsCaptor
- パラメーター:
metricsCaptorToRegister
- キャプター。- 関連事項:
getMetricsCaptor
isLoggingEnabled
public boolean isLoggingEnabled()インターフェースからコピーされた説明:IntegrationManagement
ロギングが有効かどうかを返します。- 次で指定:
- インターフェース
IntegrationManagement
のisLoggingEnabled
- 戻り値:
- 有効な場合は true。
setLoggingEnabled
public void setLoggingEnabled(boolean loggingEnabled) インターフェースからコピーされた説明:IntegrationManagement
ロギングを有効にするかどうか。- 次で指定:
- インターフェース
IntegrationManagement
のsetLoggingEnabled
- パラメーター:
loggingEnabled
- 無効にする場合は false。
setDatatypes
このチャネルでサポートされているメッセージペイロードデータ型を指定します。ペイロード型が直接一致しないが、"conversionService" が使用可能な場合は、この配列で提供される要素の順序で型変換が試行されます。このプロパティが明示的に設定されていない場合、すべてのメッセージペイロード型が受け入れられます。
- パラメーター:
datatypes
- サポートされているデータ型。- 関連事項:
setInterceptors
チャネルインターセプターのリストを設定します。これにより、既存のインターセプターがすべてクリアされます。- 次で指定:
- インターフェース
InterceptableChannel
のsetInterceptors
- パラメーター:
interceptors
- インターセプターのリスト。
addInterceptor
リストの最後にチャネルインターセプターを追加します。- 次で指定:
- インターフェース
InterceptableChannel
のaddInterceptor
- パラメーター:
interceptor
- インターセプター。
addInterceptor
リストの指定されたインデックスにチャネルインターセプターを追加します。- 次で指定:
- インターフェース
InterceptableChannel
のaddInterceptor
- パラメーター:
index
- インターセプターを追加するためのインデックス。interceptor
- インターセプター。
setMessageConverter
ペイロードがまだ一致していないメッセージに対して、このチャネルでサポートされているデータ型の 1 つに(順番に)変換しようとするときに使用するMessageConverter
を指定します。注意 :
MessageConverter.fromMessage(Message, Class)
メソッドのみが使用されます。返されたオブジェクトがMessage
でない場合、受信ヘッダーがコピーされます。返されたオブジェクトがMessage
の場合、コンバーターはヘッダーに完全に入力されていると予想されます。チャネルはそれ以上のアクションを実行しません。null
が返されると、次のデータ型(存在する場合)への変換が試行されます。デフォルトはDefaultDatatypeChannelMessageConverter
です。- パラメーター:
messageConverter
- メッセージコンバーター。
setObservationConvention
public void setObservationConvention(@Nullable MessageSenderObservationConvention observationConvention) getInterceptors
構成されたインターセプターの読み取り専用リストを返します。- 次で指定:
- インターフェース
InterceptableChannel
のgetInterceptors
removeInterceptor
- 次で指定:
- インターフェース
InterceptableChannel
のremoveInterceptor
removeInterceptor
- 次で指定:
- インターフェース
InterceptableChannel
のremoveInterceptor
getIChannelInterceptorList
サブクラスのインターセプターリストインスタンスを公開します。- 戻り値:
- チャネルインターセプターリスト。
getOverrides
インターフェースからコピーされた説明:IntegrationManagement
オーバーライドを返します。- 次で指定:
- インターフェース
IntegrationManagement
のgetOverrides
- 戻り値:
- オーバーライド。
registerObservationRegistry
public void registerObservationRegistry(io.micrometer.observation.ObservationRegistry observationRegistry) インターフェースからコピーされた説明:IntegrationManagement
ObservationRegistry
を注入します。指定された場合、MetricsCaptor
は無視されます。メーターのキャプチャーは、提供されたObservationRegistry
でObservationHandler
として構成する必要があります。- 次で指定:
- インターフェース
IntegrationManagement
のregisterObservationRegistry
- パラメーター:
observationRegistry
- コンポーネントからの観測結果を公開するObservationRegistry
。- 関連事項:
isObserved
public boolean isObserved()インターフェースからコピーされた説明:IntegrationManagement
この実装がObservationRegistry.NOOP
インスタンス以外のレジストリを処理する場合は true。- 次で指定:
- インターフェース
IntegrationManagement
のisObserved
- 戻り値:
- この実装が
ObservationRegistry.NOOP
インスタンス以外のレジストリを処理する場合は true。
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupport
サブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
IntegrationObjectSupport
のonInit
getFullChannelName
send
このチャネルでメッセージを送信します。チャネルが容量に達した場合、このメソッドは、スペースが使用可能になるか、送信スレッドが中断されるまでブロックします。- 次で指定:
- インターフェース
MessageChannel
のsend
- パラメーター:
message
- 送信するメッセージ- 戻り値:
- メッセージが正常に送信された場合は
true
、送信スレッドが中断された場合はfalse
。
send
このチャネルでメッセージを送信します。チャネルが容量に達している場合、このメソッドは、タイムアウトが発生するか、送信スレッドが中断されるまでブロックします。指定されたタイムアウトが 0 の場合、メソッドはすぐに戻ります。ゼロ未満の場合、無期限にブロックされます(send(Message)
を参照)。- 次で指定:
- インターフェース
MessageChannel
のsend
- パラメーター:
messageArg
- 送信するメッセージtimeout
- ミリ秒単位のタイムアウト- 戻り値:
- メッセージが正常に送信された場合は
true
、割り当てられた時間内にメッセージを送信できない場合、または送信スレッドが中断された場合はfalse
。
doSend
サブクラスはこのメソッドを実装する必要があります。負でないタイムアウトは、チャネルが容量に達した場合に待機する時間を示します(値が 0 の場合、成功の有無にかかわらずすぐに戻る必要があります)。負のタイムアウト値は、メッセージが受け入れられるか、ブロッキングスレッドが中断されるまでメソッドがブロックされることを示します。- パラメーター:
message
- メッセージ。timeout
- タイムアウト。- 戻り値:
send
が成功した場合は true。
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBean
のdestroy
- 次で指定:
- インターフェース
IntegrationManagement
のdestroy