Package org.apache.activemq.broker.jmx

Examples of org.apache.activemq.broker.jmx.QueueViewMBean


        JMXConnector connector = JMXConnectorFactory.connect(url, null);
        connector.connect();
        MBeanServerConnection connection = connector.getMBeanServerConnection();
        ObjectName name = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost," +
                "destinationType=Queue,destinationName=TEST.Q");
        QueueViewMBean queueMbean = MBeanServerInvocationHandler.newProxyInstance(connection, name, QueueViewMBean.class, true);
        HashMap<String, String> headers = new HashMap<String, String>();
        headers.put("JMSExpiration", Long.toString(System.currentTimeMillis() + 2000));
        headers.put("JMSDeliveryMode", Integer.toString(DeliveryMode.PERSISTENT));
        queueMbean.sendTextMessage(headers, "test", "system", "manager");
        // allow message to expire on the queue
        TimeUnit.SECONDS.sleep(4);

        Connection c = new ActiveMQConnectionFactory("vm://localhost").createConnection("system", "manager");
        c.start();
View Full Code Here


        }
    }

    @Test
    public void bytesMessagePreview() throws Exception {
        QueueViewMBean queue = getProxyToQueueViewMBean();
        assertEquals(extractText(queue.browse()[0]), extractText(queue.browse()[0]));
    }
View Full Code Here

        return new String(out);
    }

    private QueueViewMBean getProxyToQueueViewMBean() throws MalformedObjectNameException, JMSException {
        final ObjectName queueViewMBeanName = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=" + queue.getQueueName());
        QueueViewMBean proxy = (QueueViewMBean)
            brokerService.getManagementContext().newProxyInstance(queueViewMBeanName, QueueViewMBean.class, true);
        return proxy;
    }
View Full Code Here

        private long reportQueueStatistics() throws Exception {

            ObjectName queueViewMBeanName = new ObjectName("org.apache.activemq:destinationType=Queue" +
                                                           ",destinationName=Consumer.A.VirtualTopic.FOO" +
                                                           ",type=Broker,brokerName=localhost");
            QueueViewMBean queue = (QueueViewMBean)
                brokerService.getManagementContext().newProxyInstance(queueViewMBeanName, QueueViewMBean.class, true);

            LOG.info("Consumer.A.VirtualTopic.FOO Inflight: " + queue.getInFlightCount() +
                     ", enqueueCount: " + queue.getEnqueueCount() + ", dequeueCount: " +
                     queue.getDequeueCount() + ", dispatchCount: " + queue.getDispatchCount());

            return queue.getQueueSize();
        }
View Full Code Here

        super(brokerFacade);
    }

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        if (messageId != null) {
            QueueViewMBean queueView = getQueueView();
            if (queueView != null) {
              log.info(getJMSDestination() + "(" + messageId + ")" + " copy to " + destination);
                queueView.copyMessageTo(messageId, destination);
            } else {
              log.warn("No queue named: " + getPhysicalDestinationName());
            }
        }
        return redirectToBrowseView();
View Full Code Here

                + token + ",*");

        for (ObjectInstance queue : queueList) {
          ObjectName queueName = ((ObjectInstance) queue)
              .getObjectName();
          QueueViewMBean proxy = (QueueViewMBean) MBeanServerInvocationHandler
              .newProxyInstance(createJmxConnection(), queueName,
                  QueueViewMBean.class, true);
          int removed = proxy
              .removeMatchingMessages(MSG_SEL_WITH_PROPERTY);
          LOG.info("Removed: " + removed);
        }
      }

View Full Code Here

        producer.send(session.createTextMessage());

        // wait long enough so the first batch times out.
        TimeUnit.SECONDS.sleep(5);

        final QueueViewMBean queueView = getProxyToQueueViewMBean();

        assertEquals(101, queueView.getInFlightCount());

        consumer.setMessageListener(new MessageListener() {
            public void onMessage(Message message) {
                try {
                    message.acknowledge();
                } catch (JMSException e) {
                }
            }
        });

        TimeUnit.SECONDS.sleep(5);

        assertEquals(0, queueView.getInFlightCount());

        for (int i = 0; i < 200; i++) {
            producer.send(session.createTextMessage());
        }

        assertTrue("Inflight count should reach zero, currently: " + queueView.getInFlightCount(), Wait.waitFor(new Wait.Condition() {

            public boolean isSatisified() throws Exception {
                return queueView.getInFlightCount() == 0;
            }
        }));

        LOG.info("Dequeued Count: {}", queueView.getDequeueCount());
        LOG.info("Dispatch Count: {}", queueView.getDispatchCount());
        LOG.info("Enqueue Count: {}", queueView.getEnqueueCount());
        LOG.info("Expired Count: {}", queueView.getExpiredCount());
        LOG.info("InFlight Count: {}", queueView.getInFlightCount());
    }
View Full Code Here

        session.commit();

        // wait long enough so the first batch times out.
        TimeUnit.SECONDS.sleep(5);

        final QueueViewMBean queueView = getProxyToQueueViewMBean();

        assertEquals(101, queueView.getInFlightCount());

        consumer.setMessageListener(new MessageListener() {
            public void onMessage(Message message) {
                try {
                    session.commit();
                } catch (JMSException e) {
                }
            }
        });

        TimeUnit.SECONDS.sleep(5);

        assertEquals(0, queueView.getInFlightCount());

        for (int i = 0; i < 200; i++) {
            producer.send(session.createTextMessage());
        }
        session.commit();

        assertTrue("Inflight count should reach zero, currently: " + queueView.getInFlightCount(), Wait.waitFor(new Wait.Condition() {

            @Override
            public boolean isSatisified() throws Exception {
                return queueView.getInFlightCount() == 0;
            }
        }));

        LOG.info("Dequeued Count: {}", queueView.getDequeueCount());
        LOG.info("Dispatch Count: {}", queueView.getDispatchCount());
        LOG.info("Enqueue Count: {}", queueView.getEnqueueCount());
        LOG.info("Expired Count: {}", queueView.getExpiredCount());
        LOG.info("InFlight Count: {}", queueView.getInFlightCount());
    }
View Full Code Here

        }

        // wait long enough so the first batch times out.
        TimeUnit.SECONDS.sleep(5);

        final QueueViewMBean queueView = getProxyToQueueViewMBean();

        assertEquals(200, queueView.getInFlightCount());

        consumer.setMessageListener(new MessageListener() {

            @Override
            public void onMessage(Message message) {
                try {
                    LOG.debug("Acking message: {}", message);
                    message.acknowledge();
                } catch (JMSException e) {
                }
            }
        });

        TimeUnit.SECONDS.sleep(5);

        assertTrue("Inflight count should reach zero, currently: " + queueView.getInFlightCount(), Wait.waitFor(new Wait.Condition() {

            @Override
            public boolean isSatisified() throws Exception {
                return queueView.getInFlightCount() == 0;
            }
        }));

        for (int i = 0; i < 200; i++) {
            producer.send(session.createTextMessage());
        }

        assertTrue("Inflight count should reach zero, currently: " + queueView.getInFlightCount(), Wait.waitFor(new Wait.Condition() {

            @Override
            public boolean isSatisified() throws Exception {
                return queueView.getInFlightCount() == 0;
            }
        }));

        LOG.info("Dequeued Count: {}", queueView.getDequeueCount());
        LOG.info("Dispatch Count: {}", queueView.getDispatchCount());
        LOG.info("Enqueue Count: {}", queueView.getEnqueueCount());
        LOG.info("Expired Count: {}", queueView.getExpiredCount());
        LOG.info("InFlight Count: {}", queueView.getInFlightCount());
    }
View Full Code Here

        }

        // wait long enough so the first batch times out.
        TimeUnit.SECONDS.sleep(5);

        final QueueViewMBean queueView = getProxyToQueueViewMBean();

        assertEquals(200, queueView.getInFlightCount());

        final AtomicInteger msgCount = new AtomicInteger();

        consumer.setMessageListener(new MessageListener() {

            @Override
            public void onMessage(Message message) {
                try {
                    if (msgCount.incrementAndGet() == 100) {
                        LOG.debug("Acking message: {}", message);
                        message.acknowledge();
                    }
                } catch (JMSException e) {
                }
            }
        });

        TimeUnit.SECONDS.sleep(5);

        assertTrue("Inflight count should reach zero, currently: " + queueView.getInFlightCount(), Wait.waitFor(new Wait.Condition() {

            @Override
            public boolean isSatisified() throws Exception {
                return queueView.getInFlightCount() == 0;
            }
        }));

        // Now we just ack each and see if our counters come out right in the end.
        consumer.setMessageListener(new MessageListener() {

            @Override
            public void onMessage(Message message) {
                try {
                    LOG.debug("Acking message: {}", message);
                    message.acknowledge();
                } catch (JMSException e) {
                }
            }
        });

        for (int i = 0; i < 200; i++) {
            producer.send(session.createTextMessage());
        }

        assertTrue("Inflight count should reach zero, currently: " + queueView.getInFlightCount(), Wait.waitFor(new Wait.Condition() {

            @Override
            public boolean isSatisified() throws Exception {
                return queueView.getInFlightCount() == 0;
            }
        }));

        LOG.info("Dequeued Count: {}", queueView.getDequeueCount());
        LOG.info("Dispatch Count: {}", queueView.getDispatchCount());
        LOG.info("Enqueue Count: {}", queueView.getEnqueueCount());
        LOG.info("Expired Count: {}", queueView.getExpiredCount());
        LOG.info("InFlight Count: {}", queueView.getInFlightCount());
    }
View Full Code Here

TOP

Related Classes of org.apache.activemq.broker.jmx.QueueViewMBean

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.