Fixes #1012 Local MBean name part should be key-property list

pull/1315/head
Johan Karlberg 6 years ago
parent 17e8a59807
commit 7902a662b7

@ -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);

@ -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<String, String> 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());

Loading…
Cancel
Save