gpt4 book ai didi

java - 监控 JDBC 连接池

转载 作者:行者123 更新时间:2023-12-01 12:53:39 26 4
gpt4 key购买 nike

我正在通过 JDBC 驱动程序和 Tomcat 配置连接我的 Java 应用程序。我用过this类来定义我的配置。但有时,我会遇到以下异常:

  • com.mysql.jdbc.exceptions.MySQLTimeoutException:由于超时或客户端请求而取消语句
  • java.sql.SQLException:查询执行被中断
  • java.sql.BatchUpdateException:由于超时或客户端请求而取消语句

但是数据库负载不大,所以我认为问题出在我的配置上。以下是我的一些配置:

  • 最大活跃度 = 100
  • 最小空闲 = 10
  • 初始大小 = 10
  • 最大等待时间 = 10000
  • 最大空闲时间 = 15

这些适用于某些负载较重的系统。所以我需要随时观察我的池大小是否足够以及其他诸如可用连接数之类的事情。有什么好的方法可以监控连接池内部吗?

最佳答案

对于超时异常,请考虑以下伪代码:

if(!connection.isValid())
connection = getNewConnection();
resultSet rs = connection.execute(qry);

在执行查询之前检查连接是否超时。

如果您的查询被中断,除了回滚事务并重试之外,您无能为力。

关于java - 监控 JDBC 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24037984/

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