当社の Web アプリケーションは現在、Oracle データベースに対して直接 JDBC 呼び出しを行っています。静的な getConnection(String client) メソッドで DBMS_APPLICATION_INFO パッケージへの呼び出しを使用して、各接続にタグを付けます。
CallableStatement pstmt = conx.prepareCall("{call DMBS_APPLICATION_INFO.SET_CLIENT_INFO(?)}");
pstmt.setString(1, "my client");
pstmt.executeUpdate();
これは時々役立つことが証明されており、Spring JDBC に切り替えるときもこれを継続したいと考えています。
各クエリをトランザクションにして、クエリ (または複数のクエリ) を実行する前に DBMS_APPLICATION_INFO を呼び出すと、これはうまくいくと思いますが、現在接続を確立しているすべての場所に上記のコードを追加する必要があります。Spring JDBC は各クエリで接続を開いたり閉じたりするため、トランザクションの外では不可能のようです。
Spring JDBC では、現在行っているように内部で DBMS_APPLICATION_INFO を呼び出し、接続にタグを付ける文字列を渡す方法はありますか?
ありがとう!