【问题标题】:Testing Tomcat's JDBC Pool Connection测试 Tomcat 的 JDBC 池连接
【发布时间】:2012-08-03 19:48:16
【问题描述】:

有没有办法(例如通过使用 JMX/MBeans)来测试 Tomcat 服务器的 JDBC 池连接?

【问题讨论】:

    标签: tomcat jdbc connection-pooling jmx monitor


    【解决方案1】:

    如果你想使用 JMX bean,你可以寻找这个 bean:

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

    该 bean 有一个 getConnection() 方法,该方法返回一个 javax.sql.Connection 对象。完成后记得致电close()

    【讨论】:

    • 好的,我看到了,但不确定它是否真的检查了 JDBC 池,或者只是检查了数据库连接。谢谢。
    • 它会给你一个 JDBC 连接......来自池。如果您真的想查看池本身,请查看同一个 MXBean 的各种属性。
    【解决方案2】:

    您没有指定您使用的 Tomcat 版本和连接池,因此我可以随意假设您使用的是 DBCP。在这种情况下,您可以从org.apache.commons.dbcp.BasicDataSource 访问许多状态值。您必须从您的 Web 应用程序内部执行此操作。可能侵入性最小的方法是引入一个 JSP 页面,该页面从 JNDI 获取您的池数据源,查询 BasicDataSource 以获取状态值并将它们显示在一个简单的 HTML 表中。

    【讨论】:

    • 这并不能真正回答问题:MBeans。
    • OP 要求“一种方式”。建议的方式肯定符合条件。
    • 感谢所有回复和建议!我会调查你的提议,Pidster。谢谢!
    猜你喜欢
    • 2012-03-02
    • 2013-05-01
    • 2016-08-03
    • 2014-12-26
    • 1970-01-01
    • 2012-07-12
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多