JDBC:我可以检测查询是否正在运行而不是排队?

时间:2015-12-02 00:33:04

标签: java jdbc

当我statement.execute()时,有没有办法知道该语句是真的被执行还是正在排队?或者,有没有办法statement.status()并知道它是否正在运行/排队?

这是为了检测需要很长时间的查询并阻止同一连接上的其他查询。

1 个答案:

答案 0 :(得分:3)

  

当我执行statement.execute()时,有没有办法知道该语句是真的被执行还是正在排队?

不在JDBC API中。

  

或者,有没有办法做statement.status()并知道它是否正在运行/排队?

没有

  

用于检测需要很长时间的查询并阻止同一连接上的其他查询。

经典XY问题。在同一连接上不应该 任何其他并发查询。 JDBC连接不是线程安全的。每个线程都应该有自己的连接。如果你使用一个线程池,那么每个方法应该有自己的连接,只是。