クラス ConnectionFactoryUtils
java.lang.ObjectSE
org.springframework.r2dbc.connection.ConnectionFactoryUtils
ConnectionFactory
から R2DBC 接続を取得するための静的メソッドを提供するヘルパークラス。Spring の DatabaseClient
、Spring の R2DBC 操作オブジェクトによって内部的に使用されます。アプリケーションコードで直接使用することもできます。
- 導入:
- 5.3
- 作成者:
- Mark Paluch, Christoph Strobl
- 関連事項:
フィールドサマリー
修飾子と型フィールド説明static final int
R2DBC 接続をクリーンアップする ReactiveTransactionSynchronization オブジェクトの順序値。コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明static DataAccessException
convertR2dbcException
(StringSE task, StringSE sql, R2dbcException ex) 指定されたR2dbcException
を汎用DataAccessException
に変換します。static reactor.core.publisher.Mono<ConnectionFactory>
currentConnectionFactory
(ConnectionFactory connectionFactory) 現在のTransactionSynchronizationManager
からConnectionFactory
を取得します。static reactor.core.publisher.Mono<Connection>
doGetConnection
(ConnectionFactory connectionFactory) 指定されたConnectionFactory
から実際に R2DBC 接続を取得します。static reactor.core.publisher.Mono<VoidSE>
doReleaseConnection
(Connection connection, ConnectionFactory connectionFactory) 指定されたConnectionFactory
から取得された指定されたConnection
を実際に閉じます。static reactor.core.publisher.Mono<Connection>
getConnection
(ConnectionFactory connectionFactory) 指定されたConnectionFactory
からConnection
を取得します。static Connection
指定されたConnection
の最も内側のターゲットConnection
を返します。static reactor.core.publisher.Mono<VoidSE>
releaseConnection
(Connection con, ConnectionFactory connectionFactory) 外部で管理されていない(つまり、サブスクリプションにバインドされていない)場合は、指定されたConnectionFactory
から取得された指定されたConnection
を閉じます。
フィールドの詳細
CONNECTION_SYNCHRONIZATION_ORDER
public static final int CONNECTION_SYNCHRONIZATION_ORDERR2DBC 接続をクリーンアップする ReactiveTransactionSynchronization オブジェクトの順序値。- 関連事項:
コンストラクターの詳細
ConnectionFactoryUtils
public ConnectionFactoryUtils()
メソッドの詳細
getConnection
public static reactor.core.publisher.Mono<Connection> getConnection(ConnectionFactory connectionFactory) 指定されたConnectionFactory
からConnection
を取得します。例外を未チェックのジェネリクスデータアクセス例外の Spring 階層に変換し、コードの呼び出しを簡素化し、スローされる例外をより意味のあるものにします。現在の
TransactionSynchronizationManager
にバインドされている対応する接続を認識しています。トランザクション同期がアクティブな場合、接続をTransactionSynchronizationManager
にバインドします。- パラメーター:
connectionFactory
- からConnections
を取得するConnectionFactory
- 戻り値:
- 指定された
ConnectionFactory
からの R2DBC 接続 - 例外:
DataAccessResourceFailureException
-Connection
の取得に失敗した場合- 関連事項:
doGetConnection
public static reactor.core.publisher.Mono<Connection> doGetConnection(ConnectionFactory connectionFactory) 指定されたConnectionFactory
から実際に R2DBC 接続を取得します。getConnection(io.r2dbc.spi.ConnectionFactory)
と同じですが、元の例外を保持します。現在の
TransactionSynchronizationManager
にバインドされている対応する接続を認識しています。トランザクション同期がアクティブな場合、接続をTransactionSynchronizationManager
にバインドします- パラメーター:
connectionFactory
- から接続を取得するConnectionFactory
- 戻り値:
- 指定された
ConnectionFactory
からの R2DBCConnection
。
releaseConnection
public static reactor.core.publisher.Mono<VoidSE> releaseConnection(Connection con, ConnectionFactory connectionFactory) 外部で管理されていない(つまり、サブスクリプションにバインドされていない)場合は、指定されたConnectionFactory
から取得された指定されたConnection
を閉じます。- パラメーター:
con
- 必要に応じてConnection
を閉じるconnectionFactory
- 接続が取得されたConnectionFactory
- 関連事項:
doReleaseConnection
public static reactor.core.publisher.Mono<VoidSE> doReleaseConnection(Connection connection, ConnectionFactory connectionFactory) 指定されたConnectionFactory
から取得された指定されたConnection
を実際に閉じます。releaseConnection(io.r2dbc.spi.Connection, io.r2dbc.spi.ConnectionFactory)
と同じですが、元の例外を保持します。- パラメーター:
connection
- 必要に応じてConnection
を閉じるconnectionFactory
- 接続が取得されたConnectionFactory
- 関連事項:
currentConnectionFactory
public static reactor.core.publisher.Mono<ConnectionFactory> currentConnectionFactory(ConnectionFactory connectionFactory) 現在のTransactionSynchronizationManager
からConnectionFactory
を取得します。- パラメーター:
connectionFactory
- 接続が取得されたConnectionFactory
- 関連事項:
convertR2dbcException
public static DataAccessException convertR2dbcException(StringSE task, @Nullable StringSE sql, R2dbcException ex) 指定されたR2dbcException
を汎用DataAccessException
に変換します。返された DataAccessException には、根本原因として元の
R2dbcException
が含まれているはずです。ただし、DataAccessExceptions は他のリソース API によっても発生している可能性があるため、クライアントコードは通常これに依存しない場合があります。とはいえ、R2DBC ベースのアクセスが発生したと予想される場合、getRootCause() instanceof R2dbcException
チェック(およびその後のキャスト)は信頼できると見なされます。- パラメーター:
task
- 試行されているタスクを説明する読み取り可能なテキストsql
- 問題を引き起こした SQL クエリまたは更新 (既知の場合)ex
- 問題のあるR2dbcException
- 戻り値:
- 対応する DataAccessException インスタンス
getTargetConnection
指定されたConnection
の最も内側のターゲットConnection
を返します。指定されたConnection
がラップされている場合、プレーンなConnection
が見つかるまでラップが解除されます。それ以外の場合、渡された接続はそのまま返されます。- パラメーター:
con
- アンラップするConnection
ラッパー- 戻り値:
- 最も内側のターゲット接続、またはラップされていない場合は渡された接続
- 関連事項: