@Override public synchronized void unregisterBridge(final String name) throws Exception { ObjectName objectName = objectNameBuilder.getBridgeObjectName(name); unregisterFromJMX(objectName); unregisterFromRegistry(ResourceNames.BRIDGE + name); }
public static BridgeControl createBridgeControl(final String name, final MBeanServer mbeanServer) throws Exception { return (BridgeControl) ManagementControlHelper.createProxy(ObjectNameBuilder.DEFAULT.getBridgeObjectName(name), BridgeControl.class, mbeanServer); }
@Override public synchronized void registerBridge(final Bridge bridge, final BridgeConfiguration configuration) throws Exception { bridge.setNotificationService(this); ObjectName objectName = objectNameBuilder.getBridgeObjectName(configuration.getName()); BridgeControl control = new BridgeControlImpl(bridge, storageManager, configuration); registerInJMX(objectName, control); registerInRegistry(ResourceNames.BRIDGE + configuration.getName(), control); }
@Test public void testStartStop() throws Exception { checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(bridgeConfig.getName())); BridgeControl bridgeControl = createBridgeControl(bridgeConfig.getName(), mbeanServer); // started by the server Assert.assertTrue(bridgeControl.isStarted()); bridgeControl.stop(); Assert.assertFalse(bridgeControl.isStarted()); bridgeControl.start(); Assert.assertTrue(bridgeControl.isStarted()); }
@Test public void testStartStop() throws Exception { checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(bridgeConfig.getName())); CoreMessagingProxy proxy = createProxy(bridgeConfig.getName()); // started by the server Assert.assertTrue((Boolean) proxy.retrieveAttributeValue("Started")); proxy.invokeOperation("stop"); Assert.assertFalse((Boolean) proxy.retrieveAttributeValue("Started")); proxy.invokeOperation("start"); Assert.assertTrue((Boolean) proxy.retrieveAttributeValue("Started")); }
@Test public void testAttributes() throws Exception { checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(bridgeConfig.getName())); BridgeControl bridgeControl = createBridgeControl(bridgeConfig.getName(), mbeanServer); Assert.assertEquals(bridgeConfig.getName(), bridgeControl.getName()); Assert.assertEquals(bridgeConfig.getDiscoveryGroupName(), bridgeControl.getDiscoveryGroupName()); Assert.assertEquals(bridgeConfig.getQueueName(), bridgeControl.getQueueName()); Assert.assertEquals(bridgeConfig.getForwardingAddress(), bridgeControl.getForwardingAddress()); Assert.assertEquals(bridgeConfig.getFilterString(), bridgeControl.getFilterString()); Assert.assertEquals(bridgeConfig.getRetryInterval(), bridgeControl.getRetryInterval()); Assert.assertEquals(bridgeConfig.getRetryIntervalMultiplier(), bridgeControl.getRetryIntervalMultiplier(), 0.000001); Assert.assertEquals(bridgeConfig.getReconnectAttempts(), bridgeControl.getReconnectAttempts()); Assert.assertEquals(bridgeConfig.isUseDuplicateDetection(), bridgeControl.isUseDuplicateDetection()); Map<String, Object> bridgeMetrics = bridgeControl.getMetrics(); Assert.assertEquals(0L, bridgeControl.getMessagesPendingAcknowledgement()); Assert.assertEquals(0L, bridgeControl.getMessagesAcknowledged()); Assert.assertEquals(0L, bridgeMetrics.get(BridgeMetrics.MESSAGES_PENDING_ACKNOWLEDGEMENT_KEY)); Assert.assertEquals(0L, bridgeMetrics.get(BridgeMetrics.MESSAGES_ACKNOWLEDGED_KEY)); String[] connectorPairData = bridgeControl.getStaticConnectors(); Assert.assertEquals(bridgeConfig.getStaticConnectors().get(0), connectorPairData[0]); Assert.assertTrue(bridgeControl.isStarted()); }
@Test public void testAttributes() throws Exception { checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(bridgeConfig.getName())); CoreMessagingProxy proxy = createProxy(bridgeConfig.getName()); Assert.assertEquals(bridgeConfig.getName(), proxy.retrieveAttributeValue("name")); Assert.assertEquals(bridgeConfig.getDiscoveryGroupName(), proxy.retrieveAttributeValue("discoveryGroupName")); Assert.assertEquals(bridgeConfig.getQueueName(), proxy.retrieveAttributeValue("queueName")); Assert.assertEquals(bridgeConfig.getForwardingAddress(), proxy.retrieveAttributeValue("forwardingAddress")); Assert.assertEquals(bridgeConfig.getFilterString(), proxy.retrieveAttributeValue("filterString")); Assert.assertEquals(bridgeConfig.getRetryInterval(), proxy.retrieveAttributeValue("retryInterval", Long.class)); Assert.assertEquals(bridgeConfig.getRetryIntervalMultiplier(), proxy.retrieveAttributeValue("retryIntervalMultiplier", Double.class)); Assert.assertEquals(bridgeConfig.getReconnectAttempts(), proxy.retrieveAttributeValue("reconnectAttempts", Integer.class)); Assert.assertEquals(bridgeConfig.isUseDuplicateDetection(), proxy.retrieveAttributeValue("useDuplicateDetection", Boolean.class)); @SuppressWarnings("unchecked") Map<String, Object> bridgeMetrics = (Map<String, Object>) proxy.retrieveAttributeValue("metrics", Map.class); Assert.assertEquals(0L, proxy.retrieveAttributeValue("messagesPendingAcknowledgement", Long.class)); Assert.assertEquals(0L, proxy.retrieveAttributeValue("messagesAcknowledged", Long.class)); Assert.assertEquals(0L, bridgeMetrics.get(BridgeMetrics.MESSAGES_PENDING_ACKNOWLEDGEMENT_KEY)); Assert.assertEquals(0L, bridgeMetrics.get(BridgeMetrics.MESSAGES_ACKNOWLEDGED_KEY)); Object[] data = (Object[]) proxy.retrieveAttributeValue("staticConnectors"); Assert.assertEquals(bridgeConfig.getStaticConnectors().get(0), data[0]); Assert.assertTrue((Boolean) proxy.retrieveAttributeValue("started")); }
checkNoResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(name)); assertEquals(0, serverControl.getBridgeNames().length); checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(name)); String[] bridgeNames = serverControl.getBridgeNames(); assertEquals(1, bridgeNames.length); checkNoResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(name)); assertEquals(0, serverControl.getBridgeNames().length);