zoukankan      html  css  js  c++  java
  • ActiveMQ_7JMX

    activemq配置jmx

           配置activemq中的jmx可以用于监控activemq信息。

    activemq.xml配置

           修改broker属性

     

           添加节点managementContext

    <managementContext>

                <managementContext createConnector="true" connectorPort="1099" connectorPath="/jmxrmi" jmxDomainName="myDomain"/>

            </managementContext>

    activemq启动项配置

    ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false

        -Dcom.sun.management.jmxremote.rmi.port=1099

        -Dcom.sun.management.jmxremote.authenticate=false

        -Djava.rmi.server.hostname=192.168.114.129"

    jconsole连接测试

    java连接测试

    public class QueueList {

        private static String connectorPort="1099";

        private static String connectorPath="/jmxrmi";

        private static String jmxDomain="myDomain";

       

        @Test

        public void getQueueInfoList() throws Exception{

           LocateRegistry.createRegistry(1099);

           JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://192.168.114.129:"+connectorPort+connectorPath);   

           JMXConnector connector = JMXConnectorFactory.connect(url);

           connector.connect();

           MBeanServerConnection connection = connector.getMBeanServerConnection();

           ObjectName name = new ObjectName(jmxDomain+":type=Broker,brokerName=broker1");

           BrokerViewMBean mBean = MBeanServerInvocationHandler.newProxyInstance(connection, name, BrokerViewMBean.class, true);   

           System.out.println("-----queue数:"+mBean.getQueues().length);

           if(mBean != null){

               for(ObjectName na: mBean.getQueues()){

                  QueueViewMBean qBean = MBeanServerInvocationHandler.newProxyInstance(connection, na, QueueViewMBean.class, true);

                  System.out.println("--------------->");

                  System.out.println("消息队列名称:"+qBean.getName());

                  System.out.println("队列中剩余的消息数:"+qBean.getQueueSize());

                  System.out.println("消费者数:"+qBean.getConsumerCount());

                  System.out.println("出队数:"+qBean.getDequeueCount());

                  System.out.println("入队列数:"+qBean.getEnqueueCount());

               }

           }

           System.out.println("-----topic数:"+mBean.getTopics().length);

           if(mBean != null){

               for(ObjectName na: mBean.getTopics()){

                  QueueViewMBean qBean = MBeanServerInvocationHandler.newProxyInstance(connection, na, QueueViewMBean.class, true);

                  System.out.println("--------------->");

                  System.out.println("消息队列名称:"+qBean.getName());

                  System.out.println("队列中剩余的消息数:"+qBean.getQueueSize());

                  System.out.println("消费者数:"+qBean.getConsumerCount());

                  System.out.println("出队数:"+qBean.getDequeueCount());

                 

               }

           }

        }

    }

  • 相关阅读:
    Hibernate框架—简介
    ooad单例模式-Singleton
    About-JavaOOAD
    win10内置ubuntu,mysql完美清理,并安装
    VUE关于对象动态添加属性无法双向绑定问题
    正则留档
    centos下tomcat中文路径不识别
    web服务器解释html-include
    rose
    聊天框突出箭头
  • 原文地址:https://www.cnblogs.com/zhiboluo/p/10117638.html
Copyright © 2011-2022 走看看