private void applyOperationToActiveMQService(ModelNode operation, String attributeName, ModelNode newValue, ServiceController<?> activeMQServiceController) { ActiveMQServerControl serverControl = ActiveMQServer.class.cast(activeMQServiceController.getValue()).getActiveMQServerControl(); if (serverControl == null) { PathAddress address = PathAddress.pathAddress(operation.require(OP_ADDR)); throw ControllerLogger.ROOT_LOGGER.managementResourceNotFound(address); } try { if (attributeName.equals(ServerDefinition.MESSAGE_COUNTER_SAMPLE_PERIOD.getName())) { serverControl.setMessageCounterSamplePeriod(newValue.asLong()); } else if (attributeName.equals(ServerDefinition.MESSAGE_COUNTER_MAX_DAY_HISTORY.getName())) { serverControl.setMessageCounterMaxDayCount(newValue.asInt()); } else if (attributeName.equals(ServerDefinition.STATISTICS_ENABLED.getName())) { if (newValue.asBoolean()) { serverControl.enableMessageCounters(); } else { serverControl.disableMessageCounters(); } } else { // Bug! Someone added the attribute to the set but did not implement throw MessagingLogger.ROOT_LOGGER.unsupportedRuntimeAttribute(attributeName); } } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException(e); } }
private void applyOperationToActiveMQService(ModelNode operation, String attributeName, ModelNode newValue, ServiceController<?> activeMQServiceController) { ActiveMQServerControl serverControl = ActiveMQServer.class.cast(activeMQServiceController.getValue()).getActiveMQServerControl(); if (serverControl == null) { PathAddress address = PathAddress.pathAddress(operation.require(OP_ADDR)); throw ControllerLogger.ROOT_LOGGER.managementResourceNotFound(address); } try { if (attributeName.equals(ServerDefinition.MESSAGE_COUNTER_SAMPLE_PERIOD.getName())) { serverControl.setMessageCounterSamplePeriod(newValue.asLong()); } else if (attributeName.equals(ServerDefinition.MESSAGE_COUNTER_MAX_DAY_HISTORY.getName())) { serverControl.setMessageCounterMaxDayCount(newValue.asInt()); } else if (attributeName.equals(ServerDefinition.STATISTICS_ENABLED.getName())) { if (newValue.asBoolean()) { serverControl.enableMessageCounters(); } else { serverControl.disableMessageCounters(); } } else { // Bug! Someone added the attribute to the set but did not implement throw MessagingLogger.ROOT_LOGGER.unsupportedRuntimeAttribute(attributeName); } } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException(e); } }
@Test public void testListMessageCounterHistoryAsHTML() throws Exception { long counterPeriod = 1000; SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, RoutingType.MULTICAST, queue, null, durable); QueueControl queueControl = createManagementControl(address, queue); ActiveMQServerControl serverControl = ManagementControlHelper.createActiveMQServerControl(mbeanServer); serverControl.enableMessageCounters(); serverControl.setMessageCounterSamplePeriod(counterPeriod); String history = queueControl.listMessageCounterHistoryAsHTML(); Assert.assertNotNull(history); session.deleteQueue(queue); }
@Test public void testListMessageCounterHistory() throws Exception { long counterPeriod = 1000; SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, RoutingType.MULTICAST, queue, null, durable); QueueControl queueControl = createManagementControl(address, queue); ActiveMQServerControl serverControl = ManagementControlHelper.createActiveMQServerControl(mbeanServer); serverControl.enableMessageCounters(); serverControl.setMessageCounterSamplePeriod(counterPeriod); String jsonString = queueControl.listMessageCounterHistory(); DayCounterInfo[] infos = DayCounterInfo.fromJSON(jsonString); Assert.assertEquals(1, infos.length); session.deleteQueue(queue); }
@Test public void testPauseAndResume() { long counterPeriod = 1000; SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); try { session.createQueue(address, RoutingType.MULTICAST, queue, null, durable); QueueControl queueControl = createManagementControl(address, queue); ActiveMQServerControl serverControl = ManagementControlHelper.createActiveMQServerControl(mbeanServer); serverControl.enableMessageCounters(); serverControl.setMessageCounterSamplePeriod(counterPeriod); Assert.assertFalse(queueControl.isPaused()); queueControl.pause(); Assert.assertTrue(queueControl.isPaused()); queueControl.resume(); Assert.assertFalse(queueControl.isPaused()); } catch (Exception e) { e.printStackTrace(); } }
serverControl.enableMessageCounters(); serverControl.setMessageCounterSamplePeriod(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD);
serverControl.enableMessageCounters(); serverControl.setMessageCounterSamplePeriod(100);