From 7902a662b72296b410136110a81428445d52b07a Mon Sep 17 00:00:00 2001 From: Johan Karlberg <1498204+wlfshmn@users.noreply.github.com> Date: Sun, 6 Jan 2019 14:38:58 +0100 Subject: [PATCH] Fixes #1012 Local MBean name part should be key-property list --- src/main/java/com/zaxxer/hikari/pool/PoolBase.java | 4 ++-- src/test/java/com/zaxxer/hikari/pool/TestMBean.java | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zaxxer/hikari/pool/PoolBase.java b/src/main/java/com/zaxxer/hikari/pool/PoolBase.java index 1356a4ee..1c2954be 100644 --- a/src/main/java/com/zaxxer/hikari/pool/PoolBase.java +++ b/src/main/java/com/zaxxer/hikari/pool/PoolBase.java @@ -274,8 +274,8 @@ abstract class PoolBase try { final MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); - final ObjectName beanConfigName = new ObjectName("com.zaxxer.hikari:type=PoolConfig (" + poolName + ")"); - final ObjectName beanPoolName = new ObjectName("com.zaxxer.hikari:type=Pool (" + poolName + ")"); + final ObjectName beanConfigName = new ObjectName("com.zaxxer.hikari:type=PoolConfig,name=" + poolName); + final ObjectName beanPoolName = new ObjectName("com.zaxxer.hikari:type=Pool,name=" + poolName); if (register) { if (!mBeanServer.isRegistered(beanConfigName)) { mBeanServer.registerMBean(config, beanConfigName); diff --git a/src/test/java/com/zaxxer/hikari/pool/TestMBean.java b/src/test/java/com/zaxxer/hikari/pool/TestMBean.java index 2f0697fa..edb30974 100644 --- a/src/test/java/com/zaxxer/hikari/pool/TestMBean.java +++ b/src/test/java/com/zaxxer/hikari/pool/TestMBean.java @@ -20,6 +20,7 @@ import com.zaxxer.hikari.HikariConfigMXBean; import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariPoolMXBean; import com.zaxxer.hikari.mocks.StubDataSource; +import java.util.Hashtable; import org.junit.Test; import javax.management.JMX; @@ -71,7 +72,10 @@ public class TestMBean TimeUnit.SECONDS.sleep(1); MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); - ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (testMBeanReporting)"); + Hashtable properties = new Hashtable<>(2); + properties.put("type", "Pool"); + properties.put("name", "testMBeanReporting"); + ObjectName poolName = new ObjectName("com.zaxxer.hikari", properties); HikariPoolMXBean hikariPoolMXBean = JMX.newMXBeanProxy(mBeanServer, poolName, HikariPoolMXBean.class); assertEquals(0, hikariPoolMXBean.getActiveConnections());