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, waitSE
public void setTargetConnectionFactories(MapSE<?,?> targetConnectionFactories)
ConnectionFactories
のマップを指定します。マップされた値は、対応する ConnectionFactory
インスタンスまたは接続ファクトリ名ストリング(ConnectionFactoryLookup
を介して解決される)のいずれかです。 キーは任意の型にすることができます。このクラスは、汎用ルックアッププロセスのみを実装します。具体的なキー表現は、resolveSpecifiedLookupKey(Object)
および determineCurrentLookupKey()
によって処理されます。
public void setDefaultTargetConnectionFactory(ObjectSE defaultTargetConnectionFactory)
ConnectionFactory
を指定します(存在する場合)。 マップされた値は、対応する ConnectionFactory
インスタンスまたは接続ファクトリ名 String
SE(ConnectionFactoryLookup
を介して解決される)のいずれかです。
キー設定された targetConnectionFactories
のいずれも current lookup key
と一致しない場合、この ConnectionFactory
がターゲットとして使用されます。
public void setLenientFallback(boolean lenientFallback)
ConnectionFactory
が見つからなかった場合、デフォルトの ConnectionFactory
に寛大なフォールバックを適用するかどうかを指定します。 デフォルトは true
で、ターゲット ConnectionFactory
マップに対応するエントリがないルックアップキーを受け入れます。その場合は、デフォルトの ConnectionFactory
にフォールバックするだけです。
ルックアップキーが発行されていない場合にのみフォールバックを適用する場合は、このフラグを false
に切り替えます。ConnectionFactory
エントリのないルックアップキーは、IllegalStateException
SE につながります。
public void setConnectionFactoryLookup(ConnectionFactoryLookup connectionFactoryLookup)
targetConnectionFactories
マップの接続ファクトリ名ストリングの解決に使用する ConnectionFactoryLookup
実装を設定します。public void afterPropertiesSet()
InitializingBean
BeanFactoryAware
、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
。使用可能なルックアップキーがない場合、値を発行せずに完了する可能性があります