2011-07-26 1 views
1

Webアプリケーションのトランザクション情報を基になるデータベースプロセスに渡す方法を探しています。私のJavaコードでは、1つまたは複数のSQLを実行するTransactionalメソッドReservationService#search()があります。 DBMSでは、私はちょうどいくつかのロックと一緒にSPIDを参照してください。私は、タグ "ReservationService#search"をデータベースプロセスに追加する方法を探しています。すでに開いているJTDS接続で 'appName'を変更することはできますか?

jTDS/Sybase ASEには、接続プロパティとして渡すことができるappNameがあります。接続プールを使用しているので、既存の接続は再利用されますが、私の知る限り、appNameは新しい接続の確立時にのみ読み込まれます。

既存の接続(閉じる/開くことなし)でappNameを再設定するにはどうすればよいですか?また、単純に不可能な場合は、JavaからDBMSへのトランザクションコンテキスト情報を取得するための他のアイデアはありますか?

  • のTomcat webアプリケーション(Javaの6)
  • C3P0接続プール(のみJDBC 3がサポートしている)
  • のSybase ASEに15の

おかげ残念ながら サイモン

答えて

1

ない接続のjTDS、それあなたは接続を開くときにURLパラメータで指定することができますが、後で変更することはできないようです。

Java/TomecatからすべてのSybaseクエリに何らかの種類のSessionIDを渡すことはできます。私にとっては、JavaアプリケーションとSQLサーバー間のすべての通信にストアドプロシージャを使用するので、これは簡単でした。私はJ2EEセッションでJavaのセッションIDをベースにしていました。

関連する問題