監控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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM