gpt4 book ai didi

java - 如何在停止应用程序 JDBC 时优雅地关闭事务

转载 作者:行者123 更新时间:2023-11-29 14:19:44 26 4
gpt4 key购买 nike

我正在使用事务将数据从一个地方移动到另一个地方。有些表很大,我正在调整应用程序,但有时我不想等待,我只是终止了应用程序。但问题是查询已经发送到数据库,虽然我终止了我的应用程序(代码),但事务(查询)没有被取消。当我终止我的应用程序时,有什么方法可以取消或回滚事务吗?

我知道我可以登录到数据库服务器并终止查询。这不是我想要使用的方法。请问如何在应用被kill时在代码中回滚或取消查询?

最佳答案

您可以使用 Statement.cancel()取消正在运行的语句。在独立的 Java 应用程序中,您可以 register a shutdown hook当 Java VM 终止以关闭打开的语句时调用。

Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
for (Statement s : list of running statements) {
s.cancel();
}
}
});

关于java - 如何在停止应用程序 JDBC 时优雅地关闭事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33527455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com