#jboss #wildfly #datasource
#jboss #wildfly #источник данных
Вопрос:
У меня включена статистика для источника данных, и я вижу, что активных подключений гораздо больше, чем ожидалось. Я полагаю, что в каком-то развертывании на сервере не удается вызвать Connection.close(), таким образом сохраняя соединения активными и не возвращая их в пул. Я хотел бы попросить вашего совета относительно метода, который я могу использовать, чтобы выяснить, кто на сервере поддерживает активные соединения. Существует несколько развертываний, в которых используется определенный источник данных.
Профилировщик? JMX? что-нибудь еще?
Спасибо, Валерий
Ответ №1:
https://access.redhat.com/solutions/309913 Кажется, это именно то, что я искал.
Решение, позволяющее диспетчеру кэшированных подключений (CCM) идентифицировать утечку соединения:
- Включите CCM для источника данных. По умолчанию используется значение true, если оно явно не указано, но вы можете явно задать use-ccm=»true».
- Убедитесь, что он существует в подсистеме jca и установите debug=»true»
Установка debug=»true» приведет к:
Запишите ИНФОРМАЦИОННОЕ сообщение, указывающее, что JBoss «Закрывает соединение для вас. Пожалуйста, закройте их сами » Сгенерируйте трассировку стека для кода, в котором впервые было открыто утекшее соединение. Закройте утечку соединения