クラス 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 classChannelInterceptors のリストの便利なラッパークラス。インターフェース IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールド概要
フィールド修飾子と型フィールド説明protected final AbstractMessageChannel.ChannelInterceptorListprotected final SetSE<MeterFacade> クラス IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース MessageChannel から継承されたフィールド
INDEFINITE_TIMEOUTコンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明voidaddInterceptor(int index, ChannelInterceptor interceptor) リストの指定されたインデックスにチャネルインターセプターを追加します。voidaddInterceptor(ChannelInterceptor interceptor) リストの最後にチャネルインターセプターを追加します。voiddestroy()protected abstract booleanサブクラスはこのメソッドを実装する必要があります。可能な場合は、アプリケーションコンテキスト ID を含む完全修飾チャネル名を返します。サブクラスのインターセプターリストインスタンスを公開します。このコンポーネントが実装するパターン型を返します。構成されたインターセプターの読み取り専用リストを返します。protected @Nullable MetricsCaptorオーバーライドを返します。protected booleanbooleanロギングが有効かどうかを返します。booleanこの実装がObservationRegistry.NOOPインスタンス以外のレジストリを処理する場合は true。protected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidregisterMetricsCaptor(MetricsCaptor metricsCaptorToRegister) MetricsCaptorを注入します。voidregisterObservationRegistry(io.micrometer.observation.ObservationRegistry observationRegistry) ObservationRegistryを注入します。removeInterceptor(int index) booleanremoveInterceptor(ChannelInterceptor interceptor) booleanこのチャネルでメッセージを送信します。booleanこのチャネルでメッセージを送信します。voidsetDatatypes(ClassSE<?>... datatypes) このチャネルでサポートされているメッセージペイロードデータ型を指定します。voidsetInterceptors(ListSE<ChannelInterceptor> interceptors) チャネルインターセプターのリストを設定します。voidsetLoggingEnabled(boolean loggingEnabled) ロギングを有効にするかどうか。voidsetMessageConverter(MessageConverter messageConverter) ペイロードがまだ一致していないメッセージに対して、このチャネルでサポートされているデータ型の 1 つに(順番に)変換しようとするときに使用するMessageConverterを指定します。voidsetObservationConvention(@Nullable MessageSenderObservationConvention observationConvention) voidsetShouldTrack(boolean shouldTrack) クラス 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クラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース IntegrationManagement から継承されたメソッド
getManagedName, getManagedType, getThisAs, setManagedName, setManagedTypeインターフェース NamedComponent から継承されたメソッド
getBeanName, getComponentName
フィールドの詳細
interceptors
meters
コンストラクターの詳細
AbstractMessageChannel
public AbstractMessageChannel()
方法の詳細
getComponentType
- 次で指定:
- インターフェース
NamedComponent内のgetComponentType
getIntegrationPatternType
インターフェースからコピーされた説明:IntegrationPatternこのコンポーネントが実装するパターン型を返します。- 次で指定:
- インターフェース
IntegrationPattern内のgetIntegrationPatternType - 戻り値:
- このコンポーネントが実装する
IntegrationPatternType
setShouldTrack
public void setShouldTrack(boolean shouldTrack) - 次で指定:
- インターフェース
TrackableComponent内のsetShouldTrack
registerMetricsCaptor
インターフェースからコピーされた説明:IntegrationManagementMetricsCaptorを注入します。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) インターフェースからコピーされた説明:IntegrationManagementObservationRegistryを注入します。指定された場合、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。
isApplicationRunning
protected boolean isApplicationRunning()doSend
サブクラスはこのメソッドを実装する必要があります。負でないタイムアウトは、チャネルが容量に達した場合に待機する時間を示します(値が 0 の場合、成功の有無にかかわらずすぐに戻る必要があります)。負のタイムアウト値は、メッセージが受け入れられるか、ブロッキングスレッドが中断されるまでメソッドがブロックされることを示します。- パラメーター:
message- メッセージ。timeout- タイムアウト。- 戻り値:
sendが成功した場合は true。
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBean内のdestroy - 次で指定:
- インターフェース
IntegrationManagement内のdestroy