クラス 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
(ExecutorSE executor) Executor
SE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。PublishSubscribeChannel
(ExecutorSE executor, boolean requireSubscribers) Executor
SE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。メソッドのサマリー
修飾子と型メソッド説明サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected BroadcastingDispatcher
このコンポーネントが実装するパターン型を返します。final void
onInit()
初期化のためのコールバックメソッド。void
setApplySequence
(boolean applySequence) サブスクライブしたハンドラーを呼び出す前に、シーケンス番号とサイズのヘッダーをメッセージに適用するかどうかを指定します。void
setErrorHandler
(ErrorHandler errorHandler) このチャネルの下流で発生する例外を処理するためのErrorHandler
戦略を提供します。void
setIgnoreFailures
(boolean ignoreFailures) 1 つ以上のハンドラーの失敗を無視するかどうかを指定します。void
setMinSubscribers
(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, 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
Executor
SE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。これが null の場合、各呼び出しはメッセージ送信者のスレッドで発生します。- パラメーター:
executor
- エグゼキューター。
PublishSubscribeChannel
Executor
SE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。これが null の場合、各呼び出しはメッセージ送信者のスレッドで発生します。- パラメーター:
executor
- エグゼキューター。requireSubscribers
- true に設定されている場合、送信されたメッセージはディスパッチされていないと見なされ、"Dispatcher has no subscribers"
を使用して呼び出し元に拒否されます。- 導入:
- 5.4.3
メソッドの詳細
getComponentType
クラスからコピーされた説明:IntegrationObjectSupport
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
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