Future Cancel是否也会在数据库端终止Oracle查询

Kat*_*hir 6 java completable-future

我正在使用Java Future类执行连接Oracle数据库的程序。但是有时查询的速度比预期的要慢。我可以通过future.cancel方法取消未来。

假设我通过future.cancel取消了Future线程。查询将在Oracle中停止执行,还是仅应用程序线程将被停止/取消,Oracle查询将继续在数据库端运行。

我们正在提交很多future,但有些提交速度很慢。

在这种情况下的实际行为是什么。

谢谢

Fra*_*s G 0

您可以尝试向数据库发送终止查询,您将在其中使用要终止的查询的 PID,尝试使用此链接以不同的方式终止查询如何终止正在运行的 SELECT 语句。将进程放入一个线程,然后尝试添加类似isInterrupted()或 的isAlive()内容来检查线程的状态,然后发送查询以终止正在运行的查询(如果已终止)。这是我能想到的终止程序中正在运行的数据库的最佳方法。