Select ステートメントを介して Oracle データベースにクエリを実行するバックグラウンド スレッドがあります。このステートメントは、ResultSet Java オブジェクトを取り込みます。クエリが多くの行を返す場合、ResultSet オブジェクトが非常に大きくなる可能性があります。大きすぎる場合は、バックグラウンド スレッドをキャンセルしたいのですが、もっと重要なのは、ResultSet オブジェクトを作成して Java メモリを大量に消費しているスレッドをキャンセルしたいということです。
私がこれまでオンラインで読んだことによるjava.sql.Statement cancel()
と、これを行うための最良の方法のように思われます。誰でもこれを確認できますか? より良い方法はありますか?
java.sql.Statement close()
おそらくExhaustedResultset例外をキャッチできますが、それは安全ではないかもしれません。
明確にするために、ResultSetもスレッドも必要ありません-両方をメモリから完全に破棄したいのです。