无法通过MBeanServer(JMX)获取HikariCP的MaxConnections

问题描述 投票:0回答:1

我可以获取 HikariPool 的“ActiveConnections”、“IdleConnections”、“ThreadsAwaitingConnection”、“TotalConnections”;
但当我获得“MaxConnections”时,会抛出“No such Attribute Max Connections”错误。

ERROR message

enter image description here 这是我的代码:

@RestController
public class HikariController {

    private final static Logger LOGGER = LoggerFactory.getLogger(HikariController.class);

    final private MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();

    @RequestMapping("/getMonitor")
    public void getMonitor(){
         hikariCPMap();
    }
    private void hikariCPMap() {

        Hashtable<String, String> table = new Hashtable();
        table.put("type", "Pool (ds1)");
        ObjectName objectName = null;
        try {
            objectName = new ObjectName("com.zaxxer.hikari", table);
        } catch (MalformedObjectNameException e) {
            LOGGER.info(e.toString());
        }
        Set<ObjectName> objectNameSet = mBeanServer.queryNames(objectName, null);
        StringBuilder sb = new StringBuilder();
        for (ObjectName objectName1 : objectNameSet) {
            try {
                LOGGER.info("Active : {}",mBeanServer.getAttribute(objectName, "ActiveConnections").toString());
                LOGGER.info("Idle : {}",mBeanServer.getAttribute(objectName, "IdleConnections").toString());
                LOGGER.info("Waiting : {}",mBeanServer.getAttribute(objectName, "ThreadsAwaitingConnection").toString());
                LOGGER.info("Total : {}",mBeanServer.getAttribute(objectName, "TotalConnections").toString());
                LOGGER.info("Max{} : ",mBeanServer.getAttribute(objectName, "MaxConnections").toString());
            } catch (Exception e) {
                System.out.println(e);
            }
        }
    }
}

如何修复它;
我用的Hikaricp版本是3.2.0

java spring-boot hikaricp
1个回答
0
投票

发生这种情况是因为

maxConnections
bean 中没有名为
HikariPool
的属性。 如果有必要,请尝试使用
MaximumPoolSize
HikariConfig
属性。

检查这些引用:HikariPoolMXBean.javaHikariConfigMXBean.java

© www.soinside.com 2019 - 2024. All rights reserved.