クラス TransactionAwareConnectionFactoryProxy
- 実装されているすべてのインターフェース:
ConnectionFactory,Wrapped<ConnectionFactory>
ConnectionFactory のプロキシ。Spring 管理トランザクションの認識を追加します。Spring のデータアクセスサポートを認識しないデータアクセスコードは、このプロキシと連携して、Spring が管理するトランザクションにシームレスに参加できます。トランザクションマネージャー(R2dbcTransactionManager など)は、このプロキシではなく、基になる ConnectionFactory と連携する必要があることに注意してください。
TransactionAwareConnectionFactoryProxy が ConnectionFactory プロキシ / アダプターのチェーンの最も外側の ConnectionFactory であることを確認してください。TransactionAwareConnectionFactoryProxy は、ターゲット接続プールまたはいくつかの中間プロキシ / アダプターに直接委譲できます。
R2dbcTransactionManager によって管理されるなど、スレッドバインドトランザクションに自動的に参加するための ConnectionFactoryUtils へのデリゲート。返された Connection での create() 呼び出しと close 呼び出しは、トランザクション内で適切に動作します。つまり、常にトランザクション接続で動作します。トランザクション内にない場合、通常の ConnectionFactory 動作が適用されます。
このプロキシを使用すると、データアクセスコードをプレーンな R2DBCAPI と連携させることができます。ただし、可能であれば、Spring の ConnectionFactoryUtils または DatabaseClient を使用して、ターゲット ConnectionFactory のプロキシがなくてもトランザクションへの参加を取得し、そもそもそのようなプロキシを定義する必要をなくします。
注意 : この ConnectionFactory プロキシは、クローズコールを適切に処理するために、ラップされた Connection を返す必要があります。Wrapped.unwrap() を使用して、ネイティブ R2DBC 接続を取得します。
コンストラクターの概要
コンストラクターコンストラクター説明TransactionAwareConnectionFactoryProxy(ConnectionFactory targetConnectionFactory) 新しいTransactionAwareConnectionFactoryProxyを作成します。メソッドのサマリー
修飾子と型メソッド説明reactor.core.publisher.Mono<Connection>create()Spring 管理のトランザクションに自動的に参加するためのConnectionFactoryUtilsへのデリゲート。protected reactor.core.publisher.Mono<Connection>getTransactionAwareConnectionProxy(ConnectionFactory targetConnectionFactory) クラス org.springframework.r2dbc.connection.DelegatingConnectionFactory から継承されたメソッド
getMetadata, getTargetConnectionFactory, unwrap
コンストラクターの詳細
TransactionAwareConnectionFactoryProxy
新しいTransactionAwareConnectionFactoryProxyを作成します。- パラメーター:
targetConnectionFactory- ターゲットConnectionFactory
メソッドの詳細
create
Spring 管理のトランザクションに自動的に参加するためのConnectionFactoryUtilsへのデリゲート。- 次で指定:
- インターフェース
ConnectionFactoryのcreate - オーバーライド:
- クラス
DelegatingConnectionFactoryのcreate - 戻り値:
- トランザクション
Connection(ある場合)、新しいもの。 - 関連事項:
getTransactionAwareConnectionProxy
protected reactor.core.publisher.Mono<Connection> getTransactionAwareConnectionProxy(ConnectionFactory targetConnectionFactory) - パラメーター:
targetConnectionFactory-Connectionが由来するConnectionFactory- 戻り値:
- ラップされた
Connection - 関連事項: