2015-08-17 3 views
0

Есть ли способ проверить количество соединений, используемых источником данных?проверка количества подключений, используемых источником данных: Java

Я получаю исключение connectionwaittimeout в своем веб-приложении, поэтому, чтобы проверить, какая функция использует больше подключений или не освобождает какое-либо соединение, я хочу проверить количество подключений, используемых источником данных в любой точке.

+0

Какая версия WAS вы используете (Liberty или classic?)? Если вы используете классический WAS, тогда у вас есть PMI (инфраструктура мониторинга производительности), доступная в консоли администратора. – Gas

+0

Да, я могу видеть PMI ,,,,, как я могу использовать его для проверки соединений, используемых источником данных – androidDev

ответ

0

В зависимости от реализации вашего источника данных вы, вероятно, можете получить доступ к некоторому настраиваемому свойству. Например, BasicDataSource.removedAbandonned из apache-commons позволяет вернуть соединение в пул, если оно было использовано слишком долго. Но, конечно, вы должны вернуться в ваш код и убедитесь, что любые вручную заимствованные соединения правильно закрыты в примерки догоняющего, наконец, блок (или новый синтаксис Java 7 try-with resources)

+0

Я использую java 6 в своем веб-приложении .... что мне делать, чтобы получить количество соединений в любой точке с использованием объекта класса DataSource – androidDev

0

В WebSphere Application Server вас есть по крайней мере два которые могут вам помочь:

1) PMI (инфраструктура мониторинга производительности)
Вы можете включить различные счетчики на вашем Datasoruce и контролировать его. См. JDBC counters для получения более подробной информации. Наиболее полезными для меня являются FreePoolSize, PercentUsed, чтобы увидеть использование пула, WaitingThreadCount и WaitTime, чтобы узнать, ждут ли какие-либо потоки и как долго, JDBCTime и UseTime, чтобы узнать, какое среднее время запроса по сравнению с временем, в которое проходит соединение.

2) Подключение обнаружения утечек

WebSphere содержит параметры трассировки, которые позволят вам сбросить пул соединений, когда появляются ConnectionWaitTimoutException. Подробнее о том, как его настроить и использовать, см. Ниже в pdf-формате: Understanding and Resolving ConnectionWaitTimeoutExceptions

Смежные вопросы