Я использую реализацию Apache Commons Pool 2 для создания механизма пула объектов для моего приложения.
Ниже приведена конфигурация для создания пула
PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, null);
poolableConnectionFactory.setPoolStatements(poolPreparedStatements);
poolableConnectionFactory.setValidationQuery(testConnectionSql);
poolableConnectionFactory.setDefaultReadOnly(Boolean.TRUE);
poolableConnectionFactory.setDefaultAutoCommit(Boolean.TRUE);
poolableConnectionFactory.setDefaultTransactionIsolation(-1);
poolableConnectionFactory.setDefaultCatalog(null);
GenericObjectPool connectionPool = new GenericObjectPool(poolableConnectionFactory);
connectionPool.setMaxTotal(4);
connectionPool.setMaxIdle(2);
connectionPool.setTestOnBorrow(false);
connectionPool.setTestOnReturn(false);
connectionPool.setTestWhileIdle(false);
poolableConnectionFactory.setPool(connectionPool);
dataSource_ = new PoolingDataSource(connectionPool);
Но, v $ сессия показывает 13 в БД и ниже значения в журнале. Я установил maxtotal как 4, но он пересекает предел. может кто-нибудь помочь здесь понять?
getMaxIdle () - 3, getMaxTotal () - 8, getNumIdle () - 3, getNumActive () - 0