Мониторинг для общинного DBCP?
Огромное веб-приложение в моем Tomcat иногда начинает использовать слишком много соединений DBCP, что приводит к проблемам.
Чтобы исследовать, я хочу точно знать в каждый момент времени, какой поток / метод удерживает соединение пула. Не нужно быть в режиме реального времени, посмертный анализ в порядке.
Я напрасно искал такой инструмент мониторинга DBCP, поэтому я собираюсь написать свой.
(if there is any interest I can make it open source)
Вот мой план:
Modify PoolingDataSource.getConnection to log "DBCP+1 <thread-id>
"
Modify DelegatingConnection.close to log "DBCP-1 <thread-id>
"
Write a small script to generate this simple CSV for visualization:
ВОПРОС:
Я скучаю по некоторой концепции Commons-DBCP 1.4, которая делает эту идею недействительной?
Или я заново изобретаю колесо?