当我statement.execute()
时,有没有办法知道该语句是真的被执行还是正在排队?或者,有没有办法statement.status()
并知道它是否正在运行/排队?
这是为了检测需要很长时间的查询并阻止同一连接上的其他查询。
答案 0 :(得分:3)
当我执行statement.execute()时,有没有办法知道该语句是真的被执行还是正在排队?
不在JDBC API中。
或者,有没有办法做statement.status()并知道它是否正在运行/排队?
没有
用于检测需要很长时间的查询并阻止同一连接上的其他查询。
经典XY问题。在同一连接上不应该 任何其他并发查询。 JDBC连接不是线程安全的。每个线程都应该有自己的连接。如果你使用一个线程池,那么每个方法应该有自己的连接,只是。