gpt4 book ai didi

java - 使用 Tomcat JDBC 连接池时在 jconsole 中看不到 JMX 条目

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:51:08 33 4
gpt4 key购买 nike

我们正在评估从 C3P0 连接池切换到 Tomcat JDBC 连接池 ( as described here )。

它似乎作为连接池工作,但当我运行 jconsole 时,我似乎看不到它的任何 JMX 条目。
开箱即用的 C3P0 通过 JMX、Tomcat 提供了许多操作和属性JDBC 连接池没有提供(对我而言)。

根据上面链接的页面,有一个默认为 true 的 jmxEnabled 标志。我已经明确地设置了这个,但它似乎没有什么区别。

我错过了什么?

顺便说一句,我正在运行一个相当标准的 Java6/Spring/Hibernate 应用程序。

最佳答案

如果您在 spring 上下文中配置池,则应手动导出 bean。仅当您在 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表达式语言

关于java - 使用 Tomcat JDBC 连接池时在 jconsole 中看不到 JMX 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3865445/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com