クラス SingleConnectionFactory
java.lang.ObjectSE
org.springframework.r2dbc.connection.DelegatingConnectionFactory
org.springframework.r2dbc.connection.SingleConnectionFactory
- 実装されているすべてのインターフェース:
ConnectionFactory、Wrapped<ConnectionFactory>、DisposableBean
使用後に閉じられない単一の R2DBC
Connection をラップする DelegatingConnectionFactory の実装。明らかに、これはマルチスレッド対応ではありません。 シャットダウン時に、誰かが close() メソッドを介して基礎となる Connection を閉じる必要があることに注意してください。クライアントコードは、SmartConnectionFactory 対応の場合 (たとえば、ConnectionFactoryUtils.releaseConnection(Connection, ConnectionFactory) を使用する場合)、Connection ハンドルで close を呼び出すことはありません。
永続化ツールを使用する場合など、クライアントコードがプールされた Connection を想定して Connection.close() を呼び出す場合は、"suppressClose" を true に設定します。これにより、物理的な接続ではなく、クローズ抑制プロキシが返されます。
これは主に、接続の使用箇所のテストとパイプライン化を目的としています。例: ConnectionFactory で動作することが期待されるコードについて、アプリケーションサーバーの外部で簡単にテストできます。この実装は、接続プールのようなユーティリティとしては機能しないことに注意してください。接続プーリングには、r2dbc-pool などの ConnectionFactory のプーリングが必要です。
- 導入:
- 5.3
- 作成者:
- Mark Paluch
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明SingleConnectionFactory(ConnectionFactory targetConnectionFactory) Bean スタイルの構成のコンストラクター。SingleConnectionFactory(Connection target, ConnectionFactoryMetadata metadata, boolean suppressClose) SingleConnectionFactory(StringSE url, boolean suppressClose) R2DBC 接続 URL を使用して新しいSingleConnectionFactoryを作成します。メソッドのサマリー
修飾子と型メソッド説明reactor.core.publisher.Mono<? extends Connection>create()voiddestroy()基になるConnectionを閉じます。protected BooleanSE返されたConnectionの "autoCommit" 設定を上書きする必要があるかどうかを返します。protected Connection指定されたConnectionを、すべてのメソッド呼び出しを委譲するがクローズ呼び出しを抑制するプロキシでラップします。protected boolean返されたConnectionが近接抑制プロキシであるか物理Connectionであるかを返します。protected reactor.core.publisher.Mono<Connection>prepareConnection(Connection connection) ご使用前にConnectionをご用意ください。reactor.core.publisher.Mono<VoidSE>基礎となる共有接続をリセットして、次のアクセスで再初期化します。voidsetAutoCommit(boolean autoCommit) 返されたConnectionの "autoCommit" 設定を上書きするかどうかを設定します。voidsetSuppressClose(boolean suppressClose) 返されるConnectionを近接抑制プロキシにするか、物理Connectionにするかを設定します。クラス org.springframework.r2dbc.connection.DelegatingConnectionFactory から継承されたメソッド
getMetadata, getTargetConnectionFactory, unwrap
コンストラクターの詳細
SingleConnectionFactory
Bean スタイルの構成のコンストラクター。SingleConnectionFactory
R2DBC 接続 URL を使用して新しいSingleConnectionFactoryを作成します。- パラメーター:
url-ConnectionFactoryディスカバリへのアクセスに使用する R2DBCURLsuppressClose- 返されたConnectionが近接抑制プロキシまたは物理Connectionである必要がある場合- 関連事項:
SingleConnectionFactory
public SingleConnectionFactory(Connection target, ConnectionFactoryMetadata metadata, boolean suppressClose) - パラメーター:
target- 基になるターゲットConnectionmetadata- このConnectionFactoryに関連付けられるConnectionFactoryメタデータsuppressClose-close()呼び出しを抑制するConnectionでConnectionをラップする必要がある場合はtrue(プールされたConnectionを期待するアプリケーションで通常のclose()の使用を可能にするため)
メソッドの詳細
setSuppressClose
public void setSuppressClose(boolean suppressClose) 返されるConnectionを近接抑制プロキシにするか、物理Connectionにするかを設定します。isSuppressClose
protected boolean isSuppressClose()返されたConnectionが近接抑制プロキシであるか物理Connectionであるかを返します。setAutoCommit
public void setAutoCommit(boolean autoCommit) 返されたConnectionの "autoCommit" 設定を上書きするかどうかを設定します。getAutoCommitValue
返されたConnectionの "autoCommit" 設定を上書きする必要があるかどうかを返します。- 戻り値:
- "autoCommit" 値、または何も適用しない場合は
null
create
- 次で指定:
- インターフェース
ConnectionFactoryのcreate - オーバーライド:
- クラス
DelegatingConnectionFactoryのcreate
destroy
public void destroy()基になるConnectionを閉じます。このConnectionFactoryのプロバイダーは、適切なシャットダウンに注意する必要があります。この Bean は
DisposableBeanを実装しているため、Bean ファクトリは、キャッシュされたシングルトンが破棄されると、これを自動的に呼び出します。- 次で指定:
- インターフェース
DisposableBeanのdestroy
resetConnection
基礎となる共有接続をリセットして、次のアクセスで再初期化します。prepareConnection
使用する前にConnectionを準備してください。構成されている場合、自動コミット設定を適用します。- パラメーター:
connection- リクエストされたConnection- 戻り値:
- 準備された
Connection
getCloseSuppressingConnectionProxy
指定されたConnectionを、すべてのメソッド呼び出しを委譲するがクローズ呼び出しを抑制するプロキシでラップします。- パラメーター:
target- ラップする元のConnection- 戻り値:
- ラップされた接続