java - 如何在 Jboss 中以编程方式监控连接池?

标签 java jboss connection-pooling jmx wildfly-9

我正在开发一个项目,需要监视连接池的使用情况,例如 ActiveCount、AvailableCount、MaxUsedCount。我正在努力寻找有用的东西。我知道连接池创建一个 MBean 并将其与底层可用的 JMX 服务器绑定(bind)。这个 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,这些数据可以进一步使用。

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

请指导。

最佳答案

您可以使用CLI以获得这些统计数据。为此,请从代码中执行 terminal command并解析结果。

还有The HTTP management APIThe native management API

关于java - 如何在 Jboss 中以编程方式监控连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37436505/

相关文章:

java - Maven 避免包含依赖项

windows-7 - IIS 7.5 (Windows 7) 下的 ASP.NET 网站运行速度极慢

node.js - 如何将池化与 Node 持久化一起使用?

java - JMX/RMI,其中服务器没有全局唯一的网络名称

jboss - 在 jboss 中将带有 JAAS 登录模块的数据源部署为 .sar

java - 如何设置Layout的View

java - 在部署中找不到名为cinemaReservationPersistenceUnit的持久单元 "javakurs3.final.project.cinema.war"

java - 带有 c3p0 的 spring JPA 在第一次请求时连接超时

java - FusionAuthClient 单例

java - Java 中的 Oracle 数据库 BLOB 到 InputStream?