Activemq Jolokia

摘要:
经纪人…useJmx=“true”>managementContextcreateConnector=“true”/>jmx:rmi:/read/<模式>内部路径>&书信电报;基本url>type=Broker{“timestamp”:maximumConnections=1000&“vm:

打开JMX

<broker … useJmx="true">

  <managementContext>

            <managementContext createConnector="true"/>

    </managementContext>

</broker>

启动ActiveMQ

$ activemq start

 Activemq Jolokia第1张

启动 JMX console

$ jconsole

 Activemq Jolokia第2张

选择远程进程,输入url:

service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

 Activemq Jolokia第3张

访问ActiveMQ Jolokia REST API 

readReading of MBean attributes
writeSetting of MBean attributes
execExecution of JMX operations
listList the available MBeans along with their supported attributes and operations.
searchSearching for MBeans
versionGetting version and server information

每种命令的url格式。

<base-url>/read/<mbean name>/<attribute name>/<inner path>

<base url>/write/<mbean name>/<attribute name>/<value>/<inner path>

<base url>/exec/<mbean name>/<operation name>/<arg1>/<arg2>/....

<base-url>/search/<pattern>

<base-url>/list/<inner path>

<base-url>/version

例子:

拿到broker的属性值

http://localhost:8161/api/jolokia/read/org.apache.activemq:brokerName=localhost,type=Broker

{

    "timestamp": 1463105087,

    "status": 200,

    "request": {

        "mbean": "org.apache.activemq:brokerName=localhost,type=Broker",

        "type": "read"

    },

    "value": {

        "BrokerId": "ID:NOTE140082-51092-1463022383093-0:1",

        "TemporaryQueues": [],

        "StompSslURL": "",

        "TemporaryTopicProducers": [],

        "StoreLimit": 107374182400,

        "TotalConsumerCount": 0,

        "DurableTopicSubscribers": [],

        "Slave": false,

        "StompURL": "stomp://NOTE140082:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600",

        "TopicSubscribers": [],

        "QueueProducers": [],

        "VMURL": "vm://localhost",

        "Uptime": "22 hours 58 minutes",

        "TotalMessageCount": 0,

        "Topics": [

            {

                "objectName": "org.apache.activemq:brokerName=localhost,destinationName=ActiveMQ.Advisory.MasterBroker,destinationType=Topic,type=Broker"

            },

            {

                "objectName": "org.apache.activemq:brokerName=localhost,destinationName=ActiveMQ.Advisory.Queue,destinationType=Topic,type=Broker"

            }

        ],

        "TopicProducers": [],

        "BrokerName": "localhost",

        "OpenWireURL": "tcp://NOTE140082:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600",

        "MinMessageSize": 1024,

        "QueueSubscribers": [],

        "TotalDequeueCount": 0,

        "TemporaryTopics": [],

        "BrokerVersion": "5.13.2",

        "AverageMessageSize": 1024,

        "StorePercentUsage": 0,

        "TemporaryQueueProducers": [],

        "TotalEnqueueCount": 3,

        "Persistent": true,

        "TransportConnectors": {

            "amqp": "amqp://NOTE140082:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600",

            "mqtt": "mqtt://NOTE140082:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600",

            "openwire": "tcp://NOTE140082:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600",

            "ws": "ws://NOTE140082:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600",

            "stomp": "stomp://NOTE140082:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"

        },

        "InactiveDurableTopicSubscribers": [],

        "TemporaryTopicSubscribers": [],

        "TemporaryQueueSubscribers": [],

        "DynamicDestinationProducers": [],

        "MemoryPercentUsage": 0,

        "MemoryLimit": 726571418,

        "Queues": [

            {

                "objectName": "org.apache.activemq:brokerName=localhost,destinationName=1111,destinationType=Queue,type=Broker"

            },

            {

                "objectName": "org.apache.activemq:brokerName=localhost,destinationName=22222,destinationType=Queue,type=Broker"

            }

        ],

        "TotalConnectionsCount": 0,

        "UptimeMillis": 82705502,

        "DataDirectory": "E:\apache-activemq-5.13.2\data",

        "TempLimit": 53687091200,

        "JobSchedulerStoreLimit": 0,

        "JobSchedulerStorePercentUsage": 0,

        "SslURL": "",

        "StatisticsEnabled": true,

        "CurrentConnectionsCount": 0,

        "JMSJobScheduler": null,

        "TotalProducerCount": 0,

        "MaxMessageSize": 1024,

        "TempPercentUsage": 0

    }

}

获取单个属性的值

http://localhost:8161/api/jolokia/read/org.apache.activemq:brokerName=localhost,type=Broker/BrokerId

http://localhost:8161/api/jolokia/read/org.apache.activemq:brokerName=localhost,type=Broker/ StompURL

搜索broker。

http://localhost:8161/api/jolokia/search/*:type=Broker,brokerName=*

这里可以用在初始获取broker信息的时候使用。因为如果activemq如果配置了jmxDomainName,<mbean name>就要写成:<jmxDomainName>:type,brokerName=。如果不配置默认是:org.apache.activemq。

<managementContext>

       <managementContext createConnector="true" jmxDomainName="test.domain"/>

</managementContext>

http://localhost:8161/api/jolokia/read/test.domain:brokerName=localhost,type=Broker/BrokerId

这个能搜索所有的队列,包括队列的属性。但是如果当前没有队列,会返回错误。

http://localhost:8161/api/jolokia/read/org.apache.activemq:brokerName=localhost,type=Broker,destinationType=Queue,destinationName=*

通过broker的属性queues,只能拿到队列的名称列表,拿不到具体的队列属性。

http://localhost:8161/api/jolokia/read/test.domain:brokerName=localhost,type=Broker/Queues

jolokia官方在线文档:

https://jolokia.org/reference/html/index.html

jolokia官方pdf文档:

https://jolokia.org/reference/pdf/jolokia-reference.pdf

免责声明:文章转载自《Activemq Jolokia》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇gitLab内网部署apple-touch-icon-precomposed 和 apple-touch-icon属性区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

部署在IIS服务器的asp.net 网站,禁止访问指定类型文件

网站上的一些文件不希望用户访问,可以通过下面的方式简单实现。不需写代码(在IIS6下试验过)。 第一步,在IIS中实现映射。 哪些文件需要特殊处理。 通俗的将就是将哪种类型的文件交给特定的工厂来处理。通过这种方式可以实现自定义的请求方式。 请求到达IIS,然后IIS将请求交给我们设定的工厂处理。 对于aspx文件,默认是aspnet_isapi.dll由来...

Golang服务器热重启、热升级、热更新(safe and graceful hot-restart/reload http server)详解

服务端代码经常需要升级,对于线上系统的升级常用的做法是,通过前端的负载均衡(如nginx)来保证升级时至少有一个服务可用,依次(灰度)升级。 而另一种更方便的方法是在应用上做热重启,直接更新源码、配置或升级应用而不停服务。 这个功能在重要业务上尤为重要,会影响服务可用性、用户体验。 原理 热重启的原理比较简单,但是涉及到一些系统调用以及父子进程之间文件句...

JSP介绍

1. 概况答:1) 以文本为基础能够返回动态内容到客户端;2) Http是请求和响应的默认协议;3) 一个页面可以混和html代码、Java代码以及JSP标答;4) 允许访问组件;2. JSP的好处答:1) 通过组件使用支持组件模型和软件重用;2) 源文件改变自动编译;3) 用户自定义标签简化页面开发;4) 能把Web内容, Java代码分开(针对Serv...

Maven项目搭建(二):Maven搭建SSM框架

      上一章给大家讲解了如何使用Maven搭建web项目。       这次给大家介绍一下怎么使用Maven搭建SSM框架项目。       首先我们来看一下pom.xml的属性介绍: project: pom的xml根元素。 parent:  声明继承。 modules:  声明聚合,该值是一个当前POM的相对目录。用户项目的聚合。 groupI...

easyui grid 本地做分页

背景: 有的数据不是很多,但是有分页的需求,这个时候后台往往没有做分页,我们是一次请求了所有的数据。 代码: dataSource 为 grid 里的数据源 html部分: <table id="costtype"></table>    js部分: //费用类型 grid $('#costtype').datagrid({  ...

OC-字符串

     字符串 一.不可变字典:    1.字符串格式化处理 int age = 20; NSString *name = @"陈真"; NSString *info = [NSString stringWithFormat:@"%@今年%d",name,age];         NSLog(@"%@",info);    2.截取字典       ...