2011-01-06 12 views
0

Webアプリケーションは、現在、Oracleデータベースに直接JDBC呼び出しを行います。静的なgetConnection(Stringクライアント)メソッドで、DBMS_APPLICATION_INFOパッケージへの呼び出しで各接続にタグを付けます。SpringのJDBCでOracleの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を呼び出し、接続にタグを付けるStringを渡す方法がありますか?

ありがとうございます!

答えて

0

私の質問に対する答えはノーです。私が今日この問題に取り組んでいたのであれば、TomcatのJDBCプール用のインターセプタを書くか、ドライバをラップすることに目を向けるのがいいでしょう。実際には、DBMS_APPLICATION_INFOの使用を中止する可能性が最も高いです。それを持っていいのは、操作上便利ではなく、コードや複雑さを加える価値はない。

0

あなたは春の面を調べましたか?

関連する問題