监控c3p0的连接池
SqlSession session = SessionFactory.getSqlSession(dbid);
List<Map<String, Object>> resultList = session.getMapper(Mapper.class).getData(params);
ConcurrentHashMap<String, SqlSessionFactory> sessionFactoryPool = SessionFactory.getSessionFactoryPool(); Enumeration<String> keys = sessionFactoryPool.keys();
while (keys.hasMoreElements())
{
String dbid = (String) keys.nextElement();
// System.out.println("dbid : " + dbid);
SqlSessionFactory sqlSessionFactory = sessionFactoryPool.get(dbid);
Configuration configuration = sqlSessionFactory.getConfiguration();
Environment environment = configuration.getEnvironment();
DataSource dataSource = environment.getDataSource();
if (dataSource instanceof PooledDataSource)
{
PooledDataSource pds = (PooledDataSource) dataSource;
Collection allUsers = pds.getAllUsers();
System.out.println(allUsers);
//获取总连接数
System.err.println(dbid + ": num_connections: " + pds.getNumConnectionsDefaultUser());
//获取使用中的连接数
System.err.println(dbid + ": num_busy_connections: " + pds.getNumBusyConnectionsDefaultUser());
//获取空闲连接数
System.err.println(dbid + ": num_idle_connections: " + pds.getNumIdleConnectionsDefaultUser());
//获取未关闭的连接数
System.err.println(dbid + ": num_unclosed_connections: " + pds.getNumUnclosedOrphanedConnectionsDefaultUser());
System.err.println();
}
else
{
System.err.println("Not a c3p0 PooledDataSource!");
}
}
return resultList;
控制台输出结果
dbid1: num_connections: 10
dbid1: num_busy_connections: 0
dbid1: num_idle_connections: 10
dbid1: num_unclosed_connections: 0 dbid2: num_connections: 10
dbid2: num_busy_connections: 7
dbid2: num_idle_connections: 3
dbid2: num_unclosed_connections: 0 dbid3: num_connections: 10
dbid3: num_busy_connections: 0
dbid3: num_idle_connections: 10
dbid3: num_unclosed_connections: 0
监控c3p0的连接池的更多相关文章
- Hibernate整合C3P0实现连接池
Hibernate整合C3P0实现连接池 hibernate中可以使用默认的连接池,无论功能与性能都不如C3PO(网友反映,我没有测试过),C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI ...
- c3p0 数据连接池 流行开源
注意事项:配置文件规定命名,不能更改 c3p0-config <?xml version="1.0" encoding="UTF-8"?>< ...
- 选择c3p0作为连接池
<hibernate-configuration> <session-factory> <property name="dialect& ...
- Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用
前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WH 一.JDBC是什么? Java Data Base Connectivity,java数据库连接,在 ...
- c3p0写连接池 Demo
1.导包 2.配置文件:名称必须为:c3p0-config.xml,且必须放在src根目录下 <c3p0-config> <!-- 默认配置,有且仅可出现一次 ,如果没有指定则使用这 ...
- DBCP、C3P0、Proxool 、 BoneCP开源连接池的比《转》
简介 使用评价 项目主页 DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用 可以设置最大和最小连接,连接等待时 ...
- 开源DBCP、C3P0、Proxool 、 BoneCP连接池的比较
简介 项目主页 使用评价 DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用 http://homepages.nild ...
- (转载)DBCP、C3P0、Proxool 、 BoneCP开源连接池的比较
原文链接: http://blog.csdn.net/miclung/article/details/7231553 简介 使用评价 项目主页 DBCP DBCP是一个依赖Jakarta ...
- jdbc(1)(三)DBCP、C3P0、Proxool 、 BoneCP开源连接池的简介
简介 使用评价 项目主页 DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用 可以设置最大和最小连 ...
随机推荐
- CentOS7编译安装php7.1
1.首先安装依赖包: yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl ...
- SQLServer之FOREIGN KEY约束
FOREIGN KEY约束添加规则 1.外键约束并不仅仅可以与另一表的主键约束相链接,它还可以定义为引用另一个表中 UNIQUE 约束的列. 2.如果在 FOREIGN KEY 约束的列中输入非 NU ...
- CSS---选择器种类 | 层叠性权重
一.css选择器种类 1.1,ID选择器 1.2,类选择器 1.3,标签选择器 1.4,后代选择器 1.5,子代选择器 1.6,交集选择器 1.7,并集选择器 1.8,通配符选择器 1.9,属性选择器 ...
- 解决 Intellij IDEA Cannot Resolve Symbol ‘XXX’ 问题
1.java类报错 https://blog.csdn.net/qq_32040767/article/details/77096680 2.类对应的依赖没有加载进来.编译器自身的设置和缓存问题类. ...
- Redis数据结构之简单动态字符串SDS
Redis的底层数据结构非常多,其中包括SDS.ZipList.SkipList.LinkedList.HashTable.Intset等.如果你对Redis的理解还只停留在get.set的水平的话, ...
- C语言之四舍五入
在C语言中,如果进行强制类型转换,它会将所需要取的位数直接提取出来,而其他位数的数字会被直接删除,不会对提取出来的位数有任何影响 所以如果我们需要提高精度,对所取的数进行四舍五入,需要给所需去的数的最 ...
- Linux下修改MySQL数据表中字段属性
一.修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; alter table 表名称 modify 字段名称 字段类 ...
- Kubernetes — 作业副本与水平扩展
Deployment 看似简单,但实际上,它实现了 Kubernetes 项目中一个非常重要的功能:Pod 的“水平扩展 / 收缩”(horizontal scaling out/in). 这个功能, ...
- 关于学习springboot和springcloud的很不错的教程
近日,逐步开始学习了springboot和springcloud.本以为很简单,但是随着学习的深入,发现其中有很多地方都需要认真揣摩.凡事都需要循序渐进,有一个好的开端就是成功的一半.于是在浩瀚的网络 ...
- Shell命令-线上查询及帮助之man、help
线上查询及帮助 - man.help 1.man:获取命令的帮助信息 man命令的简单介绍 man命令是Linux系统中最核心的命令之一 ,因为通过它可以查看其它Linux命令的使用信息.当然了 ,m ...