Я пытался использовать источник данных пула для записи информации о пуле соединений с базой данных, т. Е. Максимальный размер пула, текущий номер.используемых соединений, занятых соединений и т. д. Я использую C3P0Registry , чтобы получить объединенный источник данных.
PooledDataSource dataSource =null;
try{
C3P0Registry.getNumPooledDataSources();
//I am sure that I am using only one data source
Iterator<Set> connectionIterator = C3P0Registry.getPooledDataSources().iterator();
dataSource = (PooledDataSource)connectionIterator.next();
}catch (Exception e) {
}
и затем я записываю требуемую информацию как:
Logger.write(LoggerConstant.DEBUG, " Connections in use: "+dataSource.getNumConnectionsAllUsers()+" , Busy Connections: "+dataSource.getNumBusyConnectionsAllUsers() +" , Idle Connections: "+ dataSource.getNumIdleConnectionsAllUsers()+" , Unclosed Orphaned Connections: "+ dataSource.getNumUnclosedOrphanedConnectionsAllUsers(), methodName);
Я хочу знать, что если это правильный путь для достижения моей цели ?.
Плюс у меня путаница в отношении того, что dataSource.getNumConnectionsAllUsers () и другие функции (я использую) точно возвращают.В javadoc нет описания.
Есть ли какое-либо описание или учебное пособие, доступное в Интернете, где я могу узнать больше об этих конкретных функциях?
Среда : Java, Hibernate, C3P0, MySQL