JDBC 接続が接続先の Oracle セッションを特定の状態 (つまり、DBMS_FLASHBACK 有効モード) にする状況があります。このモードの終了が (少なくとも理論的には) 失敗する可能性があります。これは、セッションが誤ってその状態のままになっていることを意味します。この場合、接続はプールに返され、DBMS_FLASHBACK が有効なモードのままの Oracle セッションを持つ別のスレッドによって取得されます。
私はそれが実際に起こることを証明しました。(JBoss 4.2.1)
理想的なのは、モードの終了が失敗したときに SQLException をキャッチし、接続を「不良」としてマークして、接続がプールに返されると、JBoss が接続を破棄して新しい接続を作成することです。
しかし、接続をすぐに破棄するようにマークする方法が見つかりません。誰も方法を知っていますか?