Тестирование подключения к пулу JDBC Tomcat

Есть ли способ (например, с помощью JMX/MBeans) протестировать соединение пула JDBC сервера Tomcat?


person Dan Forbes    schedule 03.08.2012    source источник


Ответы (2)


Если вы хотите использовать bean-компоненты JMX, вы можете найти этот bean-компонент:

Catalina:type=DataSource,context=/[context],host=[hostname],class=javax.sql.DataSource,name="[your JNDI name]"

Этот bean-компонент имеет метод getConnection(), который возвращает объект javax.sql.Connection. Не забудьте вызвать close(), когда закончите.

person Christopher Schultz    schedule 04.08.2012
comment
Хорошо, я видел это, но не был уверен, действительно ли он проверял пул JDBC или только соединение с базой данных. Спасибо. - person Dan Forbes; 04.08.2012
comment
Это даст вам соединение JDBC... из пула. Если вы действительно хотите взглянуть на сам пул, проверьте различные атрибуты того же MXBean. - person Christopher Schultz; 04.08.2012

Вы не указали, какую версию Tomcat вы используете и какой пул соединений, поэтому я могу предположить, что вы используете DBCP. В этом случае вы можете получить доступ ко многим значениям состояния из файла org.apache.commons.dbcp.BasicDataSource. Вам нужно будет сделать это изнутри вашего веб-приложения. Вероятно, наименее инвазивный способ — добавить JSP-страницу, которая получает ваш объединенный источник данных из JNDI, запрашивает у BasicDataSource значения состояния и отображает их в простой HTML-таблице.

person Olaf    schedule 03.08.2012
comment
На самом деле это не отвечает на вопрос: MBeans. - person Pidster; 04.08.2012
comment
ОП спросил способ. Предложенный способ безусловно подходит. - person Olaf; 04.08.2012
comment
Я ценю все ответы и предложения! Я рассмотрю твое предложение, Пидстер. Спасибо! - person Dan Forbes; 06.08.2012