@Test
public void testMBeanRegisteration() throws JMException {
Set<RoutingTableProviderMonitor> monitors = new HashSet<>();
for (PropertyType type : PropertyType.values()) {
monitors.add(new RoutingTableProviderMonitor(type, TEST_CLUSTER).register());
Assert.assertTrue(_beanServer.isRegistered(buildObjectName(type, TEST_CLUSTER)));
}
for (PropertyType type : PropertyType.values()) {
monitors.add(new RoutingTableProviderMonitor(type, TEST_CLUSTER).register());
Assert.assertTrue(_beanServer.isRegistered(buildObjectName(type, TEST_CLUSTER, 1)));
}
for (PropertyType type : PropertyType.values()) {
monitors.add(new RoutingTableProviderMonitor(type, TEST_CLUSTER).register());
Assert.assertTrue(_beanServer.isRegistered(buildObjectName(type, TEST_CLUSTER, 2)));
}
for (RoutingTableProviderMonitor monitor : monitors) {
monitor.unregister();
}
for (PropertyType type : PropertyType.values()) {
Assert.assertFalse(_beanServer.isRegistered(buildObjectName(type, TEST_CLUSTER)));
Assert.assertFalse(_beanServer.isRegistered(buildObjectName(type, TEST_CLUSTER, 1)));
Assert.assertFalse(_beanServer.isRegistered(buildObjectName(type, TEST_CLUSTER, 2)));
}
}