クラス 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
、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
ネストされたクラスのサマリー
インターフェース 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 void
onInit()
サブクラスは、初期化ロジック用にこれを実装できます。void
存在する場合、指定されたキーのチャネルマッピングを削除します。void
replaceChannelMappings
(PropertiesSE channelMappings) コントロールバスメッセージ内のマッピングのリストの変換を可能にする簡易メソッド。void
setChannelKeyFallback
(boolean channelKeyFallback) true(デフォルト)の場合、解決されたチャネルキーがチャネルマップに存在しない場合、キー自体がチャネル名として使用され、チャネルへの解決が試みられます。void
setChannelMapping
(StringSE key, StringSE channelName) 提供されたキーからチャネル名へのチャネルマッピングを追加します。void
setChannelMappings
(MapSE<StringSE, StringSE> channelMappings) チャネルキーからチャネル名へのマッピングを提供します。void
setDefaultOutputChannel
(MessageChannel defaultOutputChannel) チャネル解決でチャネルが返されない場合にメッセージを送信するデフォルトのチャネルを設定します。void
setDefaultOutputChannelName
(StringSE defaultOutputChannelName) チャネル解決でチャネルが返されない場合にメッセージを送信するデフォルトのチャネルを設定します。void
setDynamicChannelLimit
(int dynamicChannelLimit) 保持する動的チャネルの数に制限を設定します(レポート用)。void
解決前に各チャネル名に追加するプレフィックスを指定します。void
setResolutionRequired
(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, 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
コンストラクターの詳細
AbstractMappingMessageRouter
public AbstractMappingMessageRouter()
メソッドの詳細
setChannelMappings
チャネルキーからチャネル名へのマッピングを提供します。チャネル名はDestinationResolver
によって解決されます。- 次で指定:
- インターフェース
MappingMessageRouterManagement
のsetChannelMappings
- パラメーター:
channelMappings
- チャネルマッピング。
setPrefix
解決前に各チャネル名に追加するプレフィックスを指定します。- パラメーター:
prefix
- 接頭辞。
setSuffix
解決前に各チャネル名に追加するサフィックスを指定します。- パラメーター:
suffix
- サフィックス。
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
サブクラスは、チャネルキーを返すためにこのメソッドを実装する必要があります。「キー」はこのルーターの "channelMappings" に存在する場合があります。または、チャネルの名前またはメッセージチャネルインスタンス自体である場合もあります。- パラメーター:
message
- メッセージ。- 戻り値:
- チャンネルキー。
replaceChannelMappings
コントロールバスメッセージ内のマッピングのリストの変換を可能にする簡易メソッド。これは、制御バスを介して呼び出されることを意図しています。文字列ではないキーと値は無視されます。
マッピングは改行で区切る必要があります。例:
"@'myRouter.handler'.replaceChannelMappings('foo=qux \n baz=bar')"
.- 次で指定:
- インターフェース
MappingMessageRouterManagement
のreplaceChannelMappings
- パラメーター:
channelMappings
- チャネルマッピング。- 導入:
- 4.0