zoukankan      html  css  js  c++  java
  • 监控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
  • 相关阅读:
    广告效果滚动
    判断背景图片是否加载成功
    css3创建多边形clip属性,可用来绘制不规则图形了
    不允许用户选中文本的两种方法
    栈类模板设计及应用
    HDOJ 题目类型
    极大团数量模板
    HDU 1522 Marriage is Stable 稳定婚姻匹配
    字符串类设计与应用
    正向与反向拓扑排序的区别(hdu 1285 确定比赛名次和hdu 4857 逃生)
  • 原文地址:https://www.cnblogs.com/hoonick/p/9883912.html
Copyright © 2011-2022 走看看