现在的位置: 首页 > 综合 > 正文

C3P0的监控

2013年03月27日 ⁄ 综合 ⁄ 共 1050字 ⁄ 字号 评论关闭

   C3P0作为数据库连接池的解决方案,被应用的很广泛。他对连接池监控也提供了接口。

你只需要获取要监控的datasource,就能通过c3p0提供的 com.mchange.v2.c3p0.PooledDataSource接口实现类来完成状态的查询。

 官方的doc中提供了如何获取状态的例子代码:

 

从上边的代码中可以看出,只要获取了系统的datasource应用就可以知道当前连接池的状态了。

对于单个数据源的系统来说,这种方式显然是很奏效的。

 但是同时我们可能面临在一个JVM上有多个C3P0数据库连接池。这个时候我们该如何处理呢?如果我们只是统计整体的一个状态,那也无需担心,但是如果我们需要对每个创建的连接池进行统计,那么就需要我们给每个C3P0连接池打上记号了。这里官方文档说可以给每个datasouce指定dataSourceName,将来根据dataSourceName来指定我们到底要查询的是哪个数据库连接池的状态。详细参见“Using C3P0Registry to get a reference to a DataSource”,这里反复强调了各个连接池的唯一性可以通过dataSourceName来标记。

  我们在编码上记住,通过指定唯一性标记来完成对C3P0连接池的辨认。以此来完成C3P0多数据源的状态统计

抱歉!评论已关闭.