public abstract class AbstractRoutingConnectionFactory extends ObjectSE implements ConnectionFactory, InitializingBean
create() 呼び出しをルックアップキーに基づいてさまざまなターゲット factories のいずれかにルーティングする、抽象 ConnectionFactory 実装。後者は通常、(必ずしもそうではないが)何らかのサブスクライバーコンテキストから決定されます。default ConnectionFactory をフォールバックとして構成できます。
getMetadata() の呼び出しは、構成されている場合、default ConnectionFactory にルーティングされます。
setTargetConnectionFactories(java.util.Map<?, ?>), setDefaultTargetConnectionFactory(java.lang.Object), determineCurrentLookupKey()| コンストラクターと説明 |
|---|
AbstractRoutingConnectionFactory() |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | afterPropertiesSet() |
reactor.core.publisher.Mono<Connection> | create() |
protected abstract reactor.core.publisher.Mono<ObjectSE> | determineCurrentLookupKey() 現在の検索キーを決定します。 |
protected reactor.core.publisher.Mono<ConnectionFactory> | determineTargetConnectionFactory() 現在のターゲット ConnectionFactory を取得します。 |
ConnectionFactoryMetadata | getMetadata() |
protected ConnectionFactory | resolveSpecifiedConnectionFactory(ObjectSE connectionFactory) 指定された接続ファクトリオブジェクトを ConnectionFactory インスタンスに解決します。 |
protected ObjectSE | resolveSpecifiedLookupKey(ObjectSE lookupKey)targetConnectionFactories マップで指定されているように、指定されたルックアップキーオブジェクトを、current lookup key とのマッチングに使用される実際のルックアップキーに解決します。 |
void | setConnectionFactoryLookup(ConnectionFactoryLookup connectionFactoryLookup)targetConnectionFactories マップの接続ファクトリ名ストリングの解決に使用する ConnectionFactoryLookup 実装を設定します。 |
void | setDefaultTargetConnectionFactory(ObjectSE defaultTargetConnectionFactory) デフォルトのターゲット ConnectionFactory を指定します(存在する場合)。 |
void | setLenientFallback(boolean lenientFallback) 現在のルックアップキーに対して特定の ConnectionFactory が見つからなかった場合、デフォルトの ConnectionFactory に寛大なフォールバックを適用するかどうかを指定します。 |
void | setTargetConnectionFactories(MapSE<?,?> targetConnectionFactories) キーとしてルックアップキーを使用して、ターゲット ConnectionFactories のマップを指定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic void setTargetConnectionFactories(MapSE<?,?> targetConnectionFactories)
ConnectionFactories のマップを指定します。マップされた値は、対応する ConnectionFactory インスタンスまたは接続ファクトリ名ストリング(ConnectionFactoryLookup を介して解決される)のいずれかです。 キーは任意の型にすることができます。このクラスは、汎用ルックアッププロセスのみを実装します。具体的なキー表現は、resolveSpecifiedLookupKey(Object) および determineCurrentLookupKey() によって処理されます。
public void setDefaultTargetConnectionFactory(ObjectSE defaultTargetConnectionFactory)
ConnectionFactory を指定します(存在する場合)。 マップされた値は、対応する ConnectionFactory インスタンスまたは接続ファクトリ名 StringSE(ConnectionFactoryLookup を介して解決される)のいずれかです。
キー設定された targetConnectionFactories のいずれも current lookup key と一致しない場合、この ConnectionFactory がターゲットとして使用されます。
public void setLenientFallback(boolean lenientFallback)
ConnectionFactory が見つからなかった場合、デフォルトの ConnectionFactory に寛大なフォールバックを適用するかどうかを指定します。 デフォルトは true で、ターゲット ConnectionFactory マップに対応するエントリがないルックアップキーを受け入れます。その場合は、デフォルトの ConnectionFactory にフォールバックするだけです。
ルックアップキーが発行されていない場合にのみフォールバックを適用する場合は、このフラグを false に切り替えます。ConnectionFactory エントリのないルックアップキーは、IllegalStateExceptionSE につながります。
public void setConnectionFactoryLookup(ConnectionFactoryLookup connectionFactoryLookup)
targetConnectionFactories マップの接続ファクトリ名ストリングの解決に使用する ConnectionFactoryLookup 実装を設定します。public void afterPropertiesSet()
InitializingBeanBeanFactoryAware、ApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean の afterPropertiesSet protected ObjectSE resolveSpecifiedLookupKey(ObjectSE lookupKey)
targetConnectionFactories マップで指定されているように、指定されたルックアップキーオブジェクトを、current lookup key とのマッチングに使用される実際のルックアップキーに解決します。デフォルトの実装は、指定されたキーをそのまま返すだけです。
lookupKey - ユーザーが指定したルックアップキーオブジェクト protected ConnectionFactory resolveSpecifiedConnectionFactory(ObjectSE connectionFactory) throws IllegalArgumentExceptionSE
ConnectionFactory インスタンスに解決します。 デフォルトの実装は、ConnectionFactory インスタンスと接続ファクトリ名を処理します(ConnectionFactoryLookup を介して解決されます)。
connectionFactory - targetConnectionFactories マップで指定されている接続ファクトリ値オブジェクト ConnectionFactory (非 null)IllegalArgumentExceptionSE - サポートされていない値型の場合 public reactor.core.publisher.Mono<Connection> create()
ConnectionFactory の create public ConnectionFactoryMetadata getMetadata()
ConnectionFactory の getMetadata protected reactor.core.publisher.Mono<ConnectionFactory> determineTargetConnectionFactory()
ConnectionFactory を取得します。current lookup key を決定し、targetConnectionFactories マップで検索を実行し、必要に応じて指定された default target ConnectionFactory にフォールバックします。determineCurrentLookupKey() に従って現在の ConnectionFactory を放出する Mono determineCurrentLookupKey()protected abstract reactor.core.publisher.Mono<ObjectSE> determineCurrentLookupKey()
resolveSpecifiedLookupKey(java.lang.Object) メソッドによって解決されるように、保存されているルックアップキー型と一致する必要があります。Mono。使用可能なルックアップキーがない場合、値を発行せずに完了する可能性があります