java - 是否可以从 tomcat 管理 mysql 线程(卡住的查询)?

在某些情况下,我们在 tomcat 上运行了一个非常大的应用程序,我们有很多方法来构建自定义过滤器,其中一些可能太慢了。

问题是,有一种方法可以直接或通过 tomcat(可能是线程池)控制/杀死 mysql 线程?如果有办法从tomcat管理它,如果我杀死线程,它也会杀死 mysql 线程吗? (没有找到与文档相关的任何内容)。

我正在尝试构建一个层以防止查询停留在数据库中。例如,如果一个查询持续运行超过 1 分钟,我的应用程序可以杀死它(而不是我去终端并“手动”杀死它)。

提前致谢。

回答1

您很可能想要使用连接池。如果这是由 Tomcat 管理的,那么您的入口点就是一个数据源。请参阅 https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html 如何配置它。有了这个,您可以控制应用程序可以在数据库上拥有的并行连接的数量。

最重要的是,您要配置超时,以便杂散线程不会永远阻塞数据库。看

相似文章