クラス RecipientListRouter
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.router.AbstractMessageRouter
org.springframework.integration.router.RecipientListRouter
- 実装されたすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>
、Aware
、BeanFactoryAware
、BeanNameAware
、DisposableBean
、InitializingBean
、ApplicationContextAware
、Ordered
、ExpressionCapable
、Orderable
、IntegrationPattern
、MessageRouter
、RecipientListRouterManagement
、NamedComponent
、IntegrationManagement
、TrackableComponent
、MessageHandler
、reactor.core.CoreSubscriber<Message<?>>
public class RecipientListRouter
extends AbstractMessageRouter
implements RecipientListRouterManagement
<recipient-list-router id="simpleRouter" input-channel="routingChannelA">
<recipient channel="channel1"/>
<recipient channel="channel2"/>
</recipient-list-router>
受信者チャネルのリストにメッセージを送信するメッセージルーター。受信者は、setChannels(List)
メソッドを介して MessageChannel
インスタンスの静的リストとして提供できます。動的な動作の場合は、setRecipients(List)
メソッドを介して値を提供できます。
動的受信者リストのより高度なプログラムによる制御については、代わりに @Router アノテーションを使用するか、AbstractMappingMessageRouter
を継承することを検討してください。
標準の <router... /> とは異なり、このハンドラーは受信者として構成されているすべてのチャネルに送信しようとします。エンドポイントに対するパブリッシュサブスクライブチャネルとは、チャネルに対するものです。
このクラスの使用は、メッセージを複数のハンドラーに送信するのではなく、複数のチャネルで送信することが不可欠な場合にのみ意味があります。後者がパブリッシュサブスクライブチャネルを使用するオプションである場合は、より柔軟なソリューションです。
- 作成者:
- Mark Fisher, Oleg Zhurakousky, Artem Bilan, Liujiong, Gary Russell
ネストされたクラスのサマリー
ネストされたクラスインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverrides
フィールドサマリー
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, logger
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
addRecipient
(StringSE channelName) channelName で受信者を追加します。void
addRecipient
(StringSE channelName, StringSE selectorExpression) channelName と式を使用して受信者を追加します。void
addRecipient
(StringSE channelName, MessageSelector selector) void
addRecipient
(MessageChannel channel) void
addRecipient
(MessageChannel channel, MessageSelector selector) protected CollectionSE<MessageChannel>
determineTargetChannels
(Message<?> message) サブクラスはこのメソッドを実装して、指定されたメッセージのルーティング先となる 0 個以上の MessageChannels のコレクションを返す必要があります。サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。このコンポーネントが実装するパターン型を返します。protected void
onInit()
サブクラスは、初期化ロジック用にこれを実装できます。int
removeRecipient
(StringSE channelName) channelName に一致するすべての受信者を削除します。int
removeRecipient
(StringSE channelName, StringSE selectorExpression) channelName と式に一致するすべての受信者を削除します。void
replaceRecipients
(PropertiesSE recipientMappings) 受信者を交換してください。void
setChannels
(ListSE<MessageChannel> channels) このルーターのチャネルを設定します。void
setRecipientMappings
(MapSE<StringSE, StringSE> recipientMappings) このルーターの受信者を設定します。void
setRecipients
(ListSE<RecipientListRouter.Recipient> recipients) このルーターの受信者を設定します。クラス org.springframework.integration.router.AbstractMessageRouter から継承されたメソッド
getDefaultOutputChannel, getMessagingTemplate, getRequiredConversionService, handleMessageInternal, setApplySequence, setDefaultOutputChannel, setDefaultOutputChannelName, setIgnoreSendFailures, setSendTimeout
クラス org.springframework.integration.handler.AbstractMessageHandler から継承されたメソッド
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConvention
クラス org.springframework.integration.handler.MessageHandlerSupport から継承されたメソッド
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース reactor.core.CoreSubscriber から継承されたメソッド
currentContext
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getThisAs
インターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
RecipientListRouter
public RecipientListRouter()
メソッドの詳細
setChannels
このルーターのチャネルを設定します。このメソッドまたはsetRecipients(List)
のいずれかを呼び出しますが、両方を呼び出すことはできません。MessageSelectors を検討する必要がある場合は、setRecipients(List)
を使用してください。- パラメーター:
channels
- チャネル。
setRecipients
このルーターの受信者を設定します。- パラメーター:
recipients
- 受信者。
setRecipientMappings
このルーターの受信者を設定します。- 次で指定:
- インターフェース
RecipientListRouterManagement
のsetRecipientMappings
- パラメーター:
recipientMappings
- マップには channelName と式が含まれています
addRecipient
インターフェースからコピーされた説明:RecipientListRouterManagement
channelName と式を使用して受信者を追加します。- 次で指定:
- インターフェース
RecipientListRouterManagement
のaddRecipient
- パラメーター:
channelName
- チャンネル名。selectorExpression
- 受信メッセージをフィルタリングする式。
addRecipient
インターフェースからコピーされた説明:RecipientListRouterManagement
channelName で受信者を追加します。- 次で指定:
- インターフェース
RecipientListRouterManagement
のaddRecipient
- パラメーター:
channelName
- チャンネル名。
addRecipient
addRecipient
addRecipient
removeRecipient
インターフェースからコピーされた説明:RecipientListRouterManagement
channelName に一致するすべての受信者を削除します。- 次で指定:
- インターフェース
RecipientListRouterManagement
のremoveRecipient
- パラメーター:
channelName
- チャンネル名。- 戻り値:
- 削除された受信者の数。
removeRecipient
インターフェースからコピーされた説明:RecipientListRouterManagement
channelName と式に一致するすべての受信者を削除します。- 次で指定:
- インターフェース
RecipientListRouterManagement
のremoveRecipient
- パラメーター:
channelName
- チャンネル名。selectorExpression
- 受信メッセージをフィルタリングする式- 戻り値:
- 削除された受信者の数。
replaceRecipients
インターフェースからコピーされた説明:RecipientListRouterManagement
受信者を交換してください。- 次で指定:
- インターフェース
RecipientListRouterManagement
のreplaceRecipients
- パラメーター:
recipientMappings
- channelName と式が含まれます。
getRecipients
- 次で指定:
- インターフェース
RecipientListRouterManagement
のgetRecipients
- 戻り値:
- 受信者の変更不可能なコレクション。
getComponentType
クラスからコピーされた説明:IntegrationObjectSupport
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
NamedComponent
のgetComponentType
- オーバーライド:
- クラス
AbstractMessageRouter
のgetComponentType
getIntegrationPatternType
インターフェースからコピーされた説明:IntegrationPattern
このコンポーネントが実装するパターン型を返します。- 次で指定:
- インターフェース
IntegrationPattern
のgetIntegrationPatternType
- オーバーライド:
- クラス
AbstractMessageRouter
のgetIntegrationPatternType
- 戻り値:
- このコンポーネントが実装する
IntegrationPatternType
determineTargetChannels
クラスからコピーされた説明:AbstractMessageRouter
サブクラスはこのメソッドを実装して、指定されたメッセージのルーティング先となる 0 個以上の MessageChannels のコレクションを返す必要があります。- 次で指定:
- クラス
AbstractMessageRouter
のdetermineTargetChannels
- パラメーター:
message
- メッセージ。- 戻り値:
- メッセージチャネルのコレクション。
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupport
サブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
AbstractMessageRouter
のonInit