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
  • 相关阅读:
    GNU make manual 翻译(四十一)
    GNU make manual 翻译(三十五)
    GNU make manual 翻译(三十三)
    GNU make manual 翻译(三十八)
    GNU make manual 翻译(四十二)
    GNU make manual 翻译(三十四)
    艾瑞咨询:即时通讯面临多种安全威胁 狼人:
    世界头号黑客称奥巴马超级加密黑莓手机可被攻破 狼人:
    微软悬赏25万美元捉拿Conficker蠕虫作者 狼人:
    信息周刊:随意设置电脑密码存在安全隐患 狼人:
  • 原文地址:https://www.cnblogs.com/hoonick/p/9883912.html
Copyright © 2011-2022 走看看