背景
实现数据库连接池的监控功能,比如活跃连接数量/总数量,超过阈值就告警。
实现
重写dbcp数据源,主要是重写获取连接的方法,从而实现监控功能。
步骤
1.获取数据源对象
重写dbcp数据源,主要是重写获取连接的方法,然后获取数据源对象,打印连接池的监控数据,并且计算获取数据库连接的耗时。
2.配置数据源
配置数据源的时候,使用自己重写的数据源类。
代码
获取数据源对象
/**
* 重写dbcp数据源,主要是重写获取连接的方法,从而实现监控功能
*
* @author gzh
* @createTime 2020/9/21 3:29 PM
*/
public class MonitorSecretBasicDataSource extends SecretBasicDataSource {
private static final Logger log = LoggerFactory.getLogger(MonitorSecretBasicDataSource.class);
public MonitorSecretBasicDataSource() {
}
public Connection getConnection() throws SQLException {
long sTime = System.currentTimeMillis();
Connection connection = super.getConnection();
this.getDataSourceStatus(this, System.currentTimeMillis() - sTime);
return connection;
}
public Connection getConnection(String user, String pass) throws SQLException {

本文介绍了一种通过重写 DBCP 数据源以实现数据库连接池监控的方法,包括连接池状态监控及异常告警功能。
最低0.47元/天 解锁文章
1239

被折叠的 条评论
为什么被折叠?



