クラス TransactionAwareConnectionFactoryProxy

java.lang.ObjectSE
org.springframework.r2dbc.connection.DelegatingConnectionFactory
org.springframework.r2dbc.connection.TransactionAwareConnectionFactoryProxy
実装されたすべてのインターフェース:
ConnectionFactoryWrapped<ConnectionFactory>

public class TransactionAwareConnectionFactoryProxy extends DelegatingConnectionFactory
ターゲット R2DBC ConnectionFactory のプロキシ。Spring 管理トランザクションの認識を追加します。

Spring のデータアクセスサポートを認識しないデータアクセスコードは、このプロキシと連携して、Spring が管理するトランザクションにシームレスに参加できます。トランザクションマネージャー(R2dbcTransactionManager など)、このプロキシではなく、基になる ConnectionFactory と連携する必要があることに注意してください。

TransactionAwareConnectionFactoryProxyConnectionFactory プロキシ / アダプターのチェーンの最も外側の ConnectionFactory であることを確認してくださいTransactionAwareConnectionFactoryProxy は、ターゲット接続プールまたはいくつかの中間プロキシ / アダプターに直接委譲できます。

R2dbcTransactionManager によって管理されるなど、スレッドバインドトランザクションに自動的に参加するための ConnectionFactoryUtils へのデリゲート。返された Connection での create() 呼び出しと close 呼び出しは、トランザクション内で適切に動作します。つまり、常にトランザクション接続で動作します。トランザクション内にない場合、通常の ConnectionFactory 動作が適用されます。

このプロキシを使用すると、データアクセスコードをプレーンな R2DBCAPI と連携させることができます。ただし、可能であれば、Spring の ConnectionFactoryUtils または DatabaseClient を使用して、ターゲット ConnectionFactory のプロキシがなくてもトランザクションへの参加を取得し、そもそもそのようなプロキシを定義する必要をなくします。

注意 : この ConnectionFactory プロキシは、クローズコールを適切に処理するために、ラップされた Connection を返す必要があります。Wrapped.unwrap() を使用して、ネイティブ R2DBC 接続を取得します。

導入:
5.3
作成者:
Mark Paluch, Christoph Strobl
関連事項: