Activemq Jolokia
打开JMX
<broker … useJmx="true">
…
<managementContext>
<managementContext createConnector="true"/>
</managementContext>
</broker>
启动ActiveMQ
$ activemq start

启动 JMX console
$ jconsole

选择远程进程,输入url:
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

访问ActiveMQ Jolokia REST API
| read | Reading of MBean attributes |
| write | Setting of MBean attributes |
| exec | Execution of JMX operations |
| list | List the available MBeans along with their supported attributes and operations. |
| search | Searching for MBeans |
| version | Getting 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
这个能搜索所有的队列,包括队列的属性。但是如果当前没有队列,会返回错误。
通过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的更多相关文章
- ActiveMQ点对点的消息发送案例
公司最近会用MQ对某些业务进行处理,所以,这次我下载了apache-activemq-5.12.0-bin把玩下. 基于练习方便需要,使用Windows的版本. 参考的优秀文章: activemq的几 ...
- activemq.bat 在window7 x64下启动(安装)报错解决方案
在启动 apache-activemq-5.15.2/activemq.bat 时候报错,提示以下信息: wrapper | --> Wrapper Started as Consolewr ...
- 【ActiveMQ】ActiveMQ在Windows的安装,以及点对点的消息发送案例
公司最近会用MQ对某些业务进行处理,所以,这次我下载了apache-activemq-5.12.0-bin把玩下. 基于练习方便需要,使用Windows的版本. 参考的优秀文章: activemq的几 ...
- Windows下安装ActiveMQ
到官网(http://activemq.apache.org/download-archives.html)下载最新发布的压缩包(我下的是5.15.9)到本地后解压(我解压到D盘Dev目录下)即可.进 ...
- activeMQ---->ActiveMQ的使用(一)
这里通过一个入门的案例来体会一下ActiveMQ的作用以及使用方法.你要做一个不动声色的大人了.不准情绪化,不准偷偷想念,不准回头看.去过自己另外的生活.你要听话,不是所有的鱼都会生活在同一片海里. ...
- 使用jolokia api监控ActiveMQ
jolokia api提供了一种通过HTTP访问JMX获得AMQ后台数据的一种方式,即Restful Api #!/usr/bin/env python # -*- coding:utf-8 -*- ...
- Apache ActiveMQの版本更迭和Apache ActiveMQの故障转移
本文描述apache activemq 版本更迭的原因以及Apache ActiveMQのThe Failover Transport new features in 5.2.0 1.对信息的传输/ ...
- SharedFile System Master Slave(共享文件系统)做ActiveMQ集群
WINDOWS环境下:http://www.apache.org/dyn/closer.cgi?path=/activemq/apache-activemq/5.9.0/apache-activemq ...
- ActiveMQ笔记:管理和监控
ActiveMQ提供了比较丰富的监控和管理工具.在ActiveMQ的网页里(http://activemq.apache.org/how-can-i-monitor-activemq.html)提到了 ...
随机推荐
- C# 中实现单例模式
文章目录 简介 不安全线程的单例模式 简单安全线程带锁 双重检查 - 带锁 安全初始化 安全并且懒汉式静态初始化 带泛型的懒汉式单例 异常 提高效率 总结 简介 单例模式是软件工程中广为人知的设计模式 ...
- 如何用easyui+JAVA 实现动态拼凑datagrid表格(续)
前面一段时间写了一篇文章: 如何用easyui+JAVA 实现动态拼凑datagrid表格 这篇文章的话,效果是可以实现,但是经过我反复试验,还是存在一些问题的. 今天这篇文章就是向大家介绍下如何避免 ...
- js构建ui的统一异常处理方案(四)
上一篇我们介绍了统一异常处理方案的设计方案,这一篇我们将直接做一个小例子,验证我们的设计方案. 例子是一个todo的列表界面(页面代码参考于https://github.com/zongxiao/Dj ...
- php 简单权限管理实现
权限管理介绍.与简单实现思想 权限管理 此函数为模块访问权限管理 实现思路为:根据传进来的权限值,进入不同的权限获取区间,然后根据模块名字判断是否有这个模块的访问权限 使用说明:在每一个模块开始之前调 ...
- Premiere Pro & After Effects插件开发调试方法
在给Adobe Premiere Pro(PR)和Adobe After Effects(AE)插件开发时,对于实时调试插件有着很强的需求.除了业务需求外,单步调试插件还能够摸清楚Plugin和Hos ...
- SQL Server中smalldatetime的日期范围为何是[1900-01-01,2079-06-06]
本文目录列表: 1.SQL Server中的基准日期 2.smalldatetime的日期范围 3.smalldatetime的日期范围和无符号2字节整数的关系 4.总结语 5.参考清单列表 SQ ...
- 分享一个UI与业务逻辑分层的框架(二)
序言 第一篇讲解了UI与业务逻辑分层的框架(UIMediator)的使用.本篇将说明该框架的原理及代码实现. 整体结构 UI与后台类绑定主要分为UI输入->后台属性,后台属性-UI更新两部分,为 ...
- JS基础之对象
JS中一切皆为对象,这是一句常说的话.了解JS对象,从这句话开始吧.JS中的基本数据类型如number,bool,字符串,数组,null,undefined等等都是对象. 对象的本质: 带有属性和方法 ...
- 从零开始学Python第八周:网络编程基础(socket)
Socket网络编程 一,Socket编程 (1)Socket方法介绍 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Soc ...
- golang中如何使用http,socket5代理
Golang Http use socket5 proxy 因为最近想爬取一些网站上的视频,无奈网站在墙外,只能通过代理进行爬取,因此在网上搜索关于golang使用代理的方法. 功夫不负有心人,最后我 ...