クラス AbstractMappingMessageRouter
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.AbstractMappingMessageRouter
- 実装されているすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>、Aware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、Ordered、ComponentSourceAware、ExpressionCapable、Orderable、IntegrationPattern、MessageRouter、NamedComponent、IntegrationManagement、MappingMessageRouterManagement、TrackableComponent、MessageHandler、reactor.core.CoreSubscriber<Message<?>>
- 既知の直属サブクラス
ErrorMessageExceptionTypeRouter、ExpressionEvaluatingRouter、HeaderValueRouter、MethodInvokingRouter、PayloadTypeRouter、XPathRouter
public abstract class AbstractMappingMessageRouter
extends AbstractMessageRouter
implements MappingMessageRouterManagement
任意の文字列値からメッセージチャネル名へのマッピングをサポートするすべてのメッセージルーターの基本クラス。
- 導入:
- 2.1
- 作成者:
- Mark Fisher, Oleg Zhurakousky, Gunnar Hillert, Gary Russell, Artem Bilan, Trung Pham, Ngoc Nhan
ネストされたクラスの要約
インターフェース 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コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected CollectionSE<MessageChannel> determineTargetChannels(Message<?> message) サブクラスはこのメソッドを実装して、指定されたメッセージのルーティング先となる 0 個以上の MessageChannels のコレクションを返す必要があります。getChannelKeys(Message<?> message) サブクラスは、チャネルキーを返すためにこのメソッドを実装する必要があります。チャネルマッピングの変更不可能なバージョンを返します。チャネルが明示的にマッピングされていないメッセージをルーティングしたチャネル名のコレクションを提供します。protected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。void存在する場合、指定されたキーのチャネルマッピングを削除します。voidreplaceChannelMappings(PropertiesSE channelMappings) コントロールバスメッセージ内のマッピングのリストの変換を可能にする簡易メソッド。voidsetChannelKeyFallback(boolean channelKeyFallback) true(デフォルト)の場合、解決されたチャネルキーがチャネルマップに存在しない場合、キー自体がチャネル名として使用され、チャネルへの解決が試みられます。voidsetChannelMapping(StringSE key, StringSE channelName) 提供されたキーからチャネル名へのチャネルマッピングを追加します。voidsetChannelMappings(MapSE<StringSE, StringSE> channelMappings) チャネルキーからチャネル名へのマッピングを提供します。voidsetDefaultOutputChannel(MessageChannel defaultOutputChannel) チャネル解決でチャネルが返されない場合にメッセージを送信するデフォルトのチャネルを設定します。voidsetDefaultOutputChannelName(StringSE defaultOutputChannelName) チャネル解決でチャネルが返されない場合にメッセージを送信するデフォルトのチャネルを設定します。voidsetDynamicChannelLimit(int dynamicChannelLimit) 保持する動的チャネルの数に制限を設定します(レポート用)。void解決前に各チャネル名に追加するプレフィックスを指定します。voidsetResolutionRequired(boolean resolutionRequired) ChannelResolver 戦略に委譲するときに、このルーターがチャネル名を実際の MessageChannel インスタンスに解決するための失敗を無視するかどうかを指定します。void解決前に各チャネル名に追加するサフィックスを指定します。クラス org.springframework.integration.router.AbstractMessageRouter から継承されたメソッド
getComponentType, getDefaultOutputChannel, getIntegrationPatternType, getMessagingTemplate, getRequiredConversionService, handleMessageInternal, setApplySequence, 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, 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インターフェース reactor.core.CoreSubscriber から継承されたメソッド
currentContextインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getThisAsインターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
AbstractMappingMessageRouter
public AbstractMappingMessageRouter()
メソッドの詳細
setChannelMappings
チャネルキーからチャネル名へのマッピングを提供します。チャネル名はDestinationResolverによって解決されます。- 次で指定:
- インターフェース
MappingMessageRouterManagementのsetChannelMappings - パラメーター:
channelMappings- チャネルマッピング。
setPrefix
setSuffix
setResolutionRequired
public void setResolutionRequired(boolean resolutionRequired) ChannelResolver 戦略に委譲するときに、このルーターがチャネル名を実際の MessageChannel インスタンスに解決するための失敗を無視するかどうかを指定します。- パラメーター:
resolutionRequired- 解決が必要な場合は true。
setChannelKeyFallback
public void setChannelKeyFallback(boolean channelKeyFallback) true (デフォルト) の場合、解決されたチャネルキーがチャネルマップに存在しない場合、キー自体がチャネル名として使用され、チャネルへの解決が試行されます。この機能を無効にするには、falseに設定します。これは、スタックオーバーフローの原因となるルーターのアップストリームなど、予期しないチャネルにメッセージがルーティングされる可能性があるメッセージを悪意のあるアクターが生成するのを防ぐのに役立ちます。- パラメーター:
channelKeyFallback- フォールバックを無効にする場合は false。- 導入:
- 5.2
setDefaultOutputChannel
チャネル解決がチャネルを返さない場合にメッセージが送信されるデフォルトチャネルを設定します。また、channelKeyFallbackをfalseに設定して、キーからチャネルを解決しようとする試みを回避しますが、代わりにメッセージをこのチャネルに直接送信します。channelKeyFallbackが明示的にtrueに設定されている場合、ロジックはresolutionRequiredオプション (デフォルトではtrue) に依存するため、このデフォルトの出力チャネルへのフォールバックは発生しない可能性があります。デフォルトの出力チャネルが存在し、resolutionRequiredおよびchannelKeyFallbackがtrueに設定されている構成は、あいまいさにつながるため拒否されます。- オーバーライド:
- クラス
AbstractMessageRouterのsetDefaultOutputChannel - パラメーター:
defaultOutputChannel- デフォルトの出力チャネル。- 導入:
- 6.0
- 関連事項:
setDefaultOutputChannelName
チャネル解決がチャネルを返さない場合にメッセージが送信されるデフォルトチャネルを設定します。また、channelKeyFallbackをfalseに設定して、キーからチャネルを解決しようとする試みを回避しますが、代わりにメッセージをこのチャネルに直接送信します。channelKeyFallbackが明示的にtrueに設定されている場合、ロジックはresolutionRequiredオプション (デフォルトではtrue) に依存するため、このデフォルトの出力チャネルへのフォールバックは発生しない可能性があります。デフォルトの出力チャネルが存在し、resolutionRequiredおよびchannelKeyFallbackがtrueに設定されている構成は、あいまいさにつながるため拒否されます。- オーバーライド:
- クラス
AbstractMessageRouterのsetDefaultOutputChannelName - パラメーター:
defaultOutputChannelName- デフォルト出力のチャネル Bean の名前。- 導入:
- 6.0
- 関連事項:
setDynamicChannelLimit
public void setDynamicChannelLimit(int dynamicChannelLimit) 保持する動的チャネルの数に制限を設定します(レポート用)。制限を超えると、最も古いチャネルが破棄されます。注: これはルーティングには影響せず、動的に解決されたチャネルがにルーティングされたレポートのみに影響します。デフォルト
100.- パラメーター:
dynamicChannelLimit- 限界。- 関連事項:
getChannelMappings
チャネルマッピングの変更不可能なバージョンを返します。これは、サブクラスのみによる使用を目的としています。- 次で指定:
- インターフェース
MappingMessageRouterManagementのgetChannelMappings - 戻り値:
- チャネルマッピング。
setChannelMapping
提供されたキーからチャネル名へのチャネルマッピングを追加します。- 次で指定:
- インターフェース
MappingMessageRouterManagementのsetChannelMapping - パラメーター:
key- キー。channelName- チャンネル名。
removeChannelMapping
存在する場合、指定されたキーのチャネルマッピングを削除します。- 次で指定:
- インターフェース
MappingMessageRouterManagementのremoveChannelMapping - パラメーター:
key- キー。
getDynamicChannelNames
インターフェースからコピーされた説明:MappingMessageRouterManagementチャネルが明示的にマッピングされていないメッセージをルーティングしたチャネル名のコレクションを提供します。実装は、最新のチャネル名のみを返すことを選択できます。
- 次で指定:
- インターフェース
MappingMessageRouterManagementのgetDynamicChannelNames - 戻り値:
- チャネルが明示的にマッピングされていないメッセージをルーティングしたチャネル名のコレクション。
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
AbstractMessageRouterのonInit
determineTargetChannels
クラスからコピーされた説明:AbstractMessageRouterサブクラスはこのメソッドを実装して、指定されたメッセージのルーティング先となる 0 個以上の MessageChannels のコレクションを返す必要があります。- 次で指定:
- クラス
AbstractMessageRouterのdetermineTargetChannels - パラメーター:
message- メッセージ。- 戻り値:
- メッセージチャネルのコレクション。
getChannelKeys
replaceChannelMappings
コントロールバスメッセージ内のマッピングのリストの変換を可能にする簡易メソッド。これは、制御バスを介して呼び出されることを意図しています。文字列ではないキーと値は無視されます。
マッピングは改行で区切る必要があります。例:
"@'myRouter.handler'.replaceChannelMappings('foo=qux \n baz=bar')".- 次で指定:
- インターフェース
MappingMessageRouterManagementのreplaceChannelMappings - パラメーター:
channelMappings- チャネルマッピング。- 導入:
- 4.0