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... /> とは異なり、このハンドラーは受信者として構成されているすべてのチャネルに送信しようとします。エンドポイントに対するパブリッシュサブスクライブチャネルとは、チャネルに対するものです。
このクラスの使用は、メッセージを複数のハンドラーに送信するのではなく、複数のチャネルで送信することが不可欠な場合にのみ意味があります。後者がパブリッシュサブスクライブチャネルを使用するオプションである場合は、より柔軟なソリューションです。
| 修飾子と型 | クラスと説明 |
|---|---|
static class | RecipientListRouter.Recipient |
IntegrationManagement.ManagementOverridesEXPRESSION_PARSER, loggerHIGHEST_PRECEDENCE, LOWEST_PRECEDENCEMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| コンストラクターと説明 |
|---|
RecipientListRouter() |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | addRecipient(MessageChannel channel) |
void | addRecipient(MessageChannel channel, MessageSelector selector) |
void | addRecipient(StringSE channelName)channelName で受信者を追加します。 |
void | addRecipient(StringSE channelName, MessageSelector selector) |
void | addRecipient(StringSE channelName, StringSE selectorExpression)channelName と式を使用して受信者を追加します。 |
protected CollectionSE<MessageChannel> | determineTargetChannels(Message<?> message) サブクラスはこのメソッドを実装して、指定されたメッセージのルーティング先となる 0 個以上の MessageChannels のコレクションを返す必要があります。 |
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
IntegrationPatternType | getIntegrationPatternType() このコンポーネントが実装するパターン型を返します。 |
CollectionSE<RecipientListRouter.Recipient> | getRecipients() |
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) このルーターの受信者を設定します。 |
getDefaultOutputChannel, getMessagingTemplate, getRequiredConversionService, handleMessageInternal, setApplySequence, setDefaultOutputChannel, setDefaultOutputChannelName, setIgnoreSendFailures, setSendTimeouthandleMessage, onComplete, onError, onNext, onSubscribebuildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEgetThisAsgetBeanName, getComponentNamepublic void setChannels(ListSE<MessageChannel> channels)
setRecipients(List) のいずれかを呼び出しますが、両方を呼び出すことはできません。MessageSelectors を検討する必要がある場合は、setRecipients(List) を使用してください。channels - チャネル。public void setRecipients(ListSE<RecipientListRouter.Recipient> recipients)
recipients - 受信者。@ManagedAttribute public void setRecipientMappings(MapSE<StringSE,StringSE> recipientMappings)
RecipientListRouterManagement の setRecipientMappings recipientMappings - マップには channelName と式が含まれています @ManagedOperation public void addRecipient(StringSE channelName, StringSE selectorExpression)
RecipientListRouterManagementRecipientListRouterManagement の addRecipient channelName - チャンネル名。selectorExpression - 受信メッセージをフィルタリングする式。@ManagedOperation public void addRecipient(StringSE channelName)
RecipientListRouterManagementRecipientListRouterManagement の addRecipient channelName - チャンネル名。public void addRecipient(StringSE channelName, MessageSelector selector)
public void addRecipient(MessageChannel channel)
public void addRecipient(MessageChannel channel, MessageSelector selector)
@ManagedOperation public int removeRecipient(StringSE channelName)
RecipientListRouterManagementRecipientListRouterManagement の removeRecipient channelName - チャンネル名。@ManagedOperation public int removeRecipient(StringSE channelName, StringSE selectorExpression)
RecipientListRouterManagementRecipientListRouterManagement の removeRecipient channelName - チャンネル名。selectorExpression - 受信メッセージをフィルタリングする式 @ManagedOperation public void replaceRecipients(PropertiesSE recipientMappings)
RecipientListRouterManagementRecipientListRouterManagement の replaceRecipients recipientMappings - channelName と表現を含みます。@ManagedAttribute public CollectionSE<RecipientListRouter.Recipient> getRecipients()
RecipientListRouterManagement の getRecipients public StringSE getComponentType()
IntegrationObjectSupportNamedComponent の getComponentType AbstractMessageRouter の getComponentType public IntegrationPatternType getIntegrationPatternType()
IntegrationPatternIntegrationPattern の getIntegrationPatternType AbstractMessageRouter の getIntegrationPatternType IntegrationPatternTypeprotected CollectionSE<MessageChannel> determineTargetChannels(Message<?> message)
AbstractMessageRouterAbstractMessageRouter の determineTargetChannels message - メッセージ。protected void onInit()
IntegrationObjectSupportAbstractMessageRouter の onInit