public static DivertControl createDivertControl(final String name, String address, final MBeanServer mbeanServer) throws Exception { return (DivertControl) ManagementControlHelper.createProxy(ObjectNameBuilder.DEFAULT.getDivertObjectName(name, address), DivertControl.class, mbeanServer); }
@Override public synchronized void unregisterDivert(final SimpleString name, final SimpleString address) throws Exception { ObjectName objectName = objectNameBuilder.getDivertObjectName(name.toString(), address.toString()); unregisterFromJMX(objectName); unregisterFromRegistry(ResourceNames.DIVERT + name); }
@Override public synchronized void registerDivert(final Divert divert, final DivertConfiguration config) throws Exception { ObjectName objectName = objectNameBuilder.getDivertObjectName(divert.getUniqueName().toString(), config.getAddress()); DivertControl divertControl = new DivertControlImpl(divert, storageManager, config); registerInJMX(objectName, divertControl); registerInRegistry(ResourceNames.DIVERT + config.getName(), divertControl); if (logger.isDebugEnabled()) { logger.debug("registered divert " + objectName); } }
@Test public void testNullRouteNameOnDivert() throws Exception { String address = RandomUtil.randomString(); String name = RandomUtil.randomString(); String forwardingAddress = RandomUtil.randomString(); ActiveMQServerControl serverControl = createManagementControl(); checkNoResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(name, address)); assertEquals(0, serverControl.getDivertNames().length); serverControl.createDivert(name.toString(), null, address, forwardingAddress, true, null, null); checkResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(name, address)); }
checkNoResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(name, address)); assertEquals(0, serverControl.getDivertNames().length); checkResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(name, address)); DivertControl divertControl = ManagementControlHelper.createDivertControl(name.toString(), address, mbeanServer); assertEquals(name.toString(), divertControl.getUniqueName()); checkNoResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(name, address)); assertEquals(0, serverControl.getDivertNames().length);
@Test public void testAttributes() throws Exception { checkResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(divertConfig.getName(), divertConfig.getAddress())); DivertControl divertControl = createDivertManagementControl(divertConfig.getName(), divertConfig.getAddress()); Assert.assertEquals(divertConfig.getFilterString(), divertControl.getFilter()); Assert.assertEquals(divertConfig.isExclusive(), divertControl.isExclusive()); Assert.assertEquals(divertConfig.getName(), divertControl.getUniqueName()); Assert.assertEquals(divertConfig.getRoutingName(), divertControl.getRoutingName()); Assert.assertEquals(divertConfig.getAddress(), divertControl.getAddress()); Assert.assertEquals(divertConfig.getForwardingAddress(), divertControl.getForwardingAddress()); Assert.assertEquals(divertConfig.getTransformerConfiguration().getClassName(), divertControl.getTransformerClassName()); Assert.assertEquals(divertConfig.getTransformerConfiguration().getProperties(), divertControl.getTransformerProperties()); }