【问题标题】:How Do I monitor connection pool programmatically in Jboss?如何在 Jboss 中以编程方式监控连接池?
【发布时间】:2016-09-23 00:29:43
【问题描述】:

我正在处理需要监控连接池使用情况的项目,例如 ActiveCount、AvailableCount、MaxUsedCount。我正在努力寻找有用的东西。我知道连接池创建了一个 MBean 并将它与底层可用的 JMX 服务器绑定。这个 MBean 将保存有关连接池的所有信息。我想要访问这个 MBean,以便我可以访问其中的所有属性。

但是我知道我是否在 linux 环境中执行 jboss-cli.sh 并执行

/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(include-runtime=true)

我会得到以下输出

{
    "outcome" => "success",
    "result" => {
        "ActiveCount" => "0",
        "AvailableCount" => "20",
        "AverageBlockingTime" => "0",
        "AverageCreationTime" => "0",
        "CreatedCount" => "0",
        "DestroyedCount" => "0",
        "MaxCreationTime" => "0",
        "MaxUsedCount" => "0",
        "MaxWaitTime" => "0",
        "TimedOut" => "0",
        "TotalBlockingTime" => "0",
        "TotalCreationTime" => "0"
    }
} 

现在我想以编程方式实现同​​样的目标。我不确定我该怎么做。因为我会运行一些程序,它会在特定的时间间隔运行并记录连接数据,如 ActiveCount、AvailableCount、MaxUsedCount,这些数据可以进一步使用。

注意:我使用的是 wifly-9.0.1.Final

请指导。

【问题讨论】:

    标签: java jboss connection-pooling jmx wildfly-9


    【解决方案1】:

    您可以使用CLI 获取这些统计信息。为此,请从 terminal command 的代码中执行它并解析结果。

    还有The HTTP management APIThe native management API

    【讨论】:

    • 感谢您的回复。有什么方法可以记录连接池计数?
    • 在此处查找 JCA(Java EE 连接器架构)日志记录 middlewaremagic.com/jboss/?p=1050,尽管它是调试级别。
    • 我试过了,但在日志中找不到任何东西。
    • 也将 root-logger 级别设置为 TRACE。
    • 现在正在记录。但是每次我得到 ActiveCount,AvailableCount 为零,即使 2 正在使用且最大大小为 30。所以我想如果使用中的计数为 2,最大大小为 30,我应该看到 ActiveCount 3 和 AvailableCount 27。但我看到了所有零。现在怎么了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 2012-01-04
    • 2011-11-21
    • 2022-01-18
    • 1970-01-01
    • 2014-07-25
    相关资源
    最近更新 更多