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