Не удается увидеть записи JMX в jconsole при использовании пула соединений Tomcat JDBC - PullRequest
3 голосов
/ 05 октября 2010

мы оцениваем переключение из пула соединений C3P0 в пул соединений Tomcat JDBC (, как описано здесь ).

Кажется, он работает как пул соединений, но я не вижу записей JMX для него при запуске jconsole.
Из коробки C3P0 предоставляет множество операций и атрибутов через JMX, Tomcat JDBC Connection Pool не дает ничего (для меня).

Согласно странице, указанной выше, есть флаг jmxEnabled, который по умолчанию равен true. Я установил это явно, но это, кажется, не имеет значения.

Чего мне не хватает?

Кстати, у меня довольно стандартное приложение на Java6 / Spring / Hibernate.

Ответы [ 4 ]

10 голосов
/ 02 сентября 2012

Если вы конфигурируете пул в своем весеннем контексте, вы должны экспортировать бин вручную.Автоэкспорт работает только в том случае, если вы сконфигурировали пул в контейнере Tomcat и импортировали его из JNDI.См. http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#JMX

. Вы можете использовать эту конфигурацию Spring для экспорта информации пула в JMX:

<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
   ... skipped ...
</bean>

<bean id="jmxExporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
    <property name="beans">
        <map>
            <entry key="bean:name=DataSource" value="#{dataSource.getPool().getJmxPool()}"/>
        </map>
    </property>
</bean>

Config работает только в Spring версии 3.0 и выше, поскольку использует язык выражений Spring

0 голосов
/ 19 февраля 2018
В поддержку сообщения Шона:

Размещение записи javax.sql.DataSource в MBeans JConsole:

  • Catalina
    • DataSource
      • /[Name_of_deployed_application] // например, "/ DomainService
        • /[Host_name_of_the_deployed_application] // например," localhost "
          • javax.sql.DataSource
0 голосов
/ 18 ноября 2010

Даррен, если вы не видите имя объекта под Catalina/DataSource/javax.sql.DataSource/<name> в JConsole, то мне интересно, если источник данных определен неправильно или, возможно, он не был подключен к базе данных при запуске Tomcat.

Брюс

0 голосов
/ 05 октября 2010

Видите ли вы какие-либо записи под деревом

Catalina -> DataSource -> javax.sql.DataSource

Здесь указывается количество активных соединений, незанятых соединений и некоторые другие общие характеристики Кроме того, какую информацию вы надеетесь получить от мониторинга?

...