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
  • 相关阅读:
    Markdown引用图片,且不使用网上链接的解决方法
    测试
    sudo用户权限添加问题
    windows安装ipython
    ansible基本操作
    mysql用户权限操作
    解决windows7系统的快捷方式无法添加到任务栏
    linux下查看磁盘分区的文件系统格式
    mail客户端POP和IMAP协议
    linux设置history历史记录
  • 原文地址:https://www.cnblogs.com/hoonick/p/9883912.html
Copyright © 2011-2022 走看看