クラス PublishSubscribeChannel
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.channel.AbstractSubscribableChannel
org.springframework.integration.channel.AbstractExecutorChannel
org.springframework.integration.channel.PublishSubscribeChannel
- 実装されているすべてのインターフェース:
Aware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、BroadcastCapableChannel、ExecutorChannelInterceptorAware、ComponentSourceAware、ExpressionCapable、IntegrationPattern、NamedComponent、IntegrationManagement、SubscribableChannelManagement、TrackableComponent、MessageChannel、SubscribableChannel、InterceptableChannel
public class PublishSubscribeChannel
extends AbstractExecutorChannel
implements BroadcastCapableChannel
各サブスクライバーにメッセージを送信するチャネル。
- 作成者:
- Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan, Trung Pham
ネストされたクラスの要約
クラス org.springframework.integration.channel.AbstractExecutorChannel から継承されたネストクラス / インターフェース
AbstractExecutorChannel.MessageHandlingTaskクラス org.springframework.integration.channel.AbstractMessageChannel から継承されたネストクラス / インターフェース
AbstractMessageChannel.ChannelInterceptorListインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールドのサマリー
クラス org.springframework.integration.channel.AbstractExecutorChannel から継承されたフィールド
dispatcher, executor, executorInterceptorsSize, maxSubscribersクラス org.springframework.integration.channel.AbstractMessageChannel から継承されたフィールド
interceptors, metersクラス 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コンストラクターの概要
コンストラクターコンストラクター説明メッセージ送信者のスレッドでハンドラーを呼び出す PublishSubscribeChannel を作成します。PublishSubscribeChannel(boolean requireSubscribers) 提供されたrequireSubscribersフラグを考慮して、メッセージ送信者のスレッドでハンドラーを呼び出す PublishSubscribeChannel を作成します。PublishSubscribeChannel(@Nullable ExecutorSE executor) ExecutorSE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。PublishSubscribeChannel(@Nullable ExecutorSE executor, boolean requireSubscribers) ExecutorSE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。メソッドのサマリー
修飾子と型メソッド説明protected BroadcastingDispatcherこのコンポーネントが実装するパターン型を返します。final voidonInit()初期化のためのコールバックメソッド。voidsetApplySequence(boolean applySequence) サブスクライブしたハンドラーを呼び出す前に、シーケンス番号とサイズのヘッダーをメッセージに適用するかどうかを指定します。voidsetErrorHandler(ErrorHandler errorHandler) このチャネルの下流で発生する例外を処理するためのErrorHandler戦略を提供します。voidsetIgnoreFailures(boolean ignoreFailures) 1 つ以上のハンドラーの失敗を無視するかどうかを指定します。voidsetMinSubscribers(int minSubscribers) 少なくともこの数のサブスクライバーがメッセージを受信すると、AbstractMessageChannel.send(org.springframework.messaging.Message)は true を返します。クラス org.springframework.integration.channel.AbstractExecutorChannel から継承されたメソッド
addInterceptor, addInterceptor, hasExecutorInterceptors, removeInterceptor, removeInterceptor, setInterceptors, setMaxSubscribersクラス org.springframework.integration.channel.AbstractSubscribableChannel から継承されたメソッド
doSend, getSubscriberCount, subscribe, unsubscribeクラス org.springframework.integration.channel.AbstractMessageChannel から継承されたメソッド
destroy, getFullChannelName, getIChannelInterceptorList, getInterceptors, getMetricsCaptor, getOverrides, isApplicationRunning, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, send, send, setDatatypes, setLoggingEnabled, setMessageConverter, setObservationConvention, setShouldTrackクラス 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.channel.BroadcastCapableChannel から継承されたメソッド
isBroadcastインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getManagedName, getManagedType, getThisAs, setManagedName, setManagedTypeインターフェース org.springframework.messaging.support.InterceptableChannel から継承されたメソッド
getInterceptorsインターフェース org.springframework.messaging.MessageChannel から継承されたメソッド
send, sendインターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentNameインターフェース org.springframework.messaging.SubscribableChannel から継承されたメソッド
subscribe, unsubscribe
コンストラクターの詳細
PublishSubscribeChannel
public PublishSubscribeChannel()メッセージ送信者のスレッドでハンドラーを呼び出す PublishSubscribeChannel を作成します。PublishSubscribeChannel
public PublishSubscribeChannel(boolean requireSubscribers) 提供されたrequireSubscribersフラグを考慮して、メッセージ送信者のスレッドでハンドラーを呼び出す PublishSubscribeChannel を作成します。- パラメーター:
requireSubscribers- true に設定されている場合、送信されたメッセージはディスパッチされていないと見なされ、"Dispatcher has no subscribers"を使用して呼び出し元に拒否されます。- 導入:
- 5.4.3
PublishSubscribeChannel
ExecutorSE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。これが null の場合、各呼び出しはメッセージ送信者のスレッドで発生します。- パラメーター:
executor- エグゼキューター。
PublishSubscribeChannel
ExecutorSE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。これが null の場合、各呼び出しはメッセージ送信者のスレッドで発生します。- パラメーター:
executor- エグゼキューター。requireSubscribers- true に設定されている場合、送信されたメッセージはディスパッチされていないと見なされ、"Dispatcher has no subscribers"を使用して呼び出し元に拒否されます。- 導入:
- 5.4.3
メソッドの詳細
getComponentType
- 次で指定:
- インターフェース
NamedComponentのgetComponentType - オーバーライド:
- クラス
AbstractMessageChannelのgetComponentType
getIntegrationPatternType
インターフェースからコピーされた説明:IntegrationPatternこのコンポーネントが実装するパターン型を返します。- 次で指定:
- インターフェース
IntegrationPatternのgetIntegrationPatternType - オーバーライド:
- クラス
AbstractExecutorChannelのgetIntegrationPatternType - 戻り値:
- このコンポーネントが実装する
IntegrationPatternType
setErrorHandler
このチャネルの下流で発生する例外を処理するためのErrorHandler戦略を提供します。これは、このチャネルのメッセージをディスパッチするように Executor が構成されている場合にのみ適用されます。それ以外の場合、例外は送信スレッド内で直接スローされます。ErrorHandler が提供されず、このチャネルがディスパッチを Executor に委譲する場合、デフォルトの戦略は、失敗したリクエストメッセージのエラーチャネルヘッダーがある場合はそのヘッダーにエラーメッセージを送信するMessagePublishingErrorHandlerであり、ない場合はデフォルトの "errorChannel" に送信されます。- パラメーター:
errorHandler- エラーハンドラー。- 関連事項:
setIgnoreFailures
public void setIgnoreFailures(boolean ignoreFailures) 1 つ以上のハンドラーの失敗を無視するかどうかを指定します。デフォルトでは、これは false であり、ハンドラーが失敗するたびに例外がスローされることを意味します。これをオーバーライドして例外を抑制するには、値を true に設定します。- パラメーター:
ignoreFailures- 失敗を無視する必要がある場合は true。
setApplySequence
public void setApplySequence(boolean applySequence) サブスクライブされたハンドラーを呼び出す前に、シーケンス番号とサイズのヘッダーをメッセージに適用するかどうかを指定します。デフォルトでは、この値は false であり、シーケンスヘッダーが適用されないことを意味します。デフォルトの相関および完了戦略でダウンストリームのアグリゲーターを使用することを計画している場合は、このフラグを true に設定する必要があります。- パラメーター:
applySequence- シーケンス情報を適用する必要がある場合は true。
setMinSubscribers
public void setMinSubscribers(int minSubscribers) 少なくともこの数のサブスクライバーがメッセージを受信すると、AbstractMessageChannel.send(org.springframework.messaging.Message)は true を返します。デフォルト: 0。- パラメーター:
minSubscribers- サブスクライバーの最小数。
onInit
getDispatcher
- 次で指定:
- クラス
AbstractSubscribableChannelのgetDispatcher