@Test public void testQueueTempUsageWhenBrokerTempUsageUpdated() throws Exception { ObjectName queueViewMBeanName = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=" + queue.getQueueName()); QueueViewMBean queueViewMBean = (QueueViewMBean) brokerService.getManagementContext().newProxyInstance( queueViewMBeanName, QueueViewMBean.class, true); // Check that by default the queue's temp limit is the same as the broker's. BrokerView brokerView = brokerService.getAdminView(); long brokerTempLimit = brokerView.getTempLimit(); assertEquals(brokerTempLimit, queueViewMBean.getTempUsageLimit()); // Increase the broker's temp limit and check the queue's limit is updated to the same value. long newBrokerTempLimit = brokerTempLimit + 555; brokerView.setTempLimit(newBrokerTempLimit); assertEquals(brokerView.getTempLimit(), newBrokerTempLimit); assertEquals(queueViewMBean.getTempUsageLimit(), newBrokerTempLimit); } }
@Test public void testQueueTempUsageWhenSetExplicitly() throws Exception { ObjectName queueViewMBeanName = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=" + queue.getQueueName()); QueueViewMBean queueViewMBean = (QueueViewMBean) brokerService.getManagementContext().newProxyInstance( queueViewMBeanName, QueueViewMBean.class, true); // Check that by default the queue's temp limit is the same as the broker's. BrokerView brokerView = brokerService.getAdminView(); long brokerTempLimit = brokerView.getTempLimit(); assertEquals(brokerTempLimit, queueViewMBean.getTempUsageLimit()); // Change the queue's temp limit independently of the broker's setting and check the broker's limit does not // change. long queueTempLimit = brokerTempLimit + 111; queueViewMBean.setTempUsageLimit(queueTempLimit); assertEquals(queueViewMBean.getTempUsageLimit(), queueTempLimit); assertEquals(brokerView.getTempLimit(), brokerTempLimit); // Now increase the broker's temp limit. Since the queue's limit was explicitly changed it should remain // unchanged. long newBrokerTempLimit = brokerTempLimit + 555; brokerView.setTempLimit(newBrokerTempLimit); assertEquals(brokerView.getTempLimit(), newBrokerTempLimit); assertEquals(queueViewMBean.getTempUsageLimit(), queueTempLimit); }
/** * Constructor. * * @param brokerService AMQ Broker service we're monitoring * @throws Exception If unable to start properly */ public BrokerMonitor(BrokerService brokerService) throws Exception { log.info("Starting Broker Monitor..."); broker = brokerService; monitor = broker.getAdminView(); // Local record keeping queues = new ArrayList<String>(); stats = new LinkedHashMap<String, Map<String, String>>(); targetQueues = new HashMap<String, Queue>(); // Thready stuff thread = new Thread(this, QUEUE_ID); }
public ManagedRegionBroker getManagedBroker() throws Exception { BrokerView adminView = brokerService.getAdminView(); if (adminView == null) { return null; } return adminView.getBroker(); }
public BrokerViewFacade getBrokerAdmin() throws Exception { return proxy(BrokerViewFacade.class, brokerService.getAdminView(), brokerService.getBrokerName()); } public ManagedRegionBroker getManagedBroker() throws Exception {
private BrokerView getBrokerAdminView(TestContext context) { try { return getBrokerService().getAdminView(); } catch (Exception e) { context.fail(e); // Above line throws, but satisfy the compiler. return null; } }
messageContext.setEnvelope(envelope); Assert.assertEquals("Queue is not empty!", 0, broker.getAdminView().getTotalMessageCount()); Assert.assertEquals("Message not forwarded!", 1, broker.getAdminView().getTotalMessageCount());