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)提到了 ...
随机推荐
- 将richTextBox中的内容写入txt文件发现不换行(解决方法),在richTextBox指定位置插入文字
string pathname = dt.ToString().Replace(":", ""); string str = richTextBoxResult ...
- SQL Server SQL性能优化之--数据库在“简单”参数化模式下,自动参数化SQL带来的问题
数据库参数化的模式 数据库的参数化有两种方式,简单(simple)和强制(forced),默认的参数化默认是“简单”,简单模式下,如果每次发过来的SQL,除非完全一样,否则就重编译它(特殊情况会自动参 ...
- 【Java】子类的链式调用
记录最近在项目设计中遇到的一个小问题. 前提:有这样两个POJO类,它们都可以通过链式调用的方式来设置其属性值,其中一个类继承了另一个类. 问题:通过链式调用,子类对象访问父类方法后,如何使返回对象仍 ...
- css3元素简单的闪烁效果(html5 jquery)
css3 Animation: @-webkit-keyframes twinkling{ /*透明度由0到1*/ 0%{ opacity:0; /*透明度为0*/ } 100%{ opacity:1 ...
- 速战速决 (5) - PHP: 动态地创建属性和方法, 对象的复制, 对象的比较, 加载指定的文件, 自动加载类文件, 命名空间
[源码下载] 速战速决 (5) - PHP: 动态地创建属性和方法, 对象的复制, 对象的比较, 加载指定的文件, 自动加载类文件, 命名空间 作者:webabcd 介绍速战速决 之 PHP 动态地创 ...
- 家族/亲戚(relation)
题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如果x,y是 ...
- Integer 与int 的区别
int 是java 提供的8 种原始数据类型之一.Java 为每个原始类型提供了封装类,Integer 是java 为int 提供的封装类.int 的默认值为0,而Integer 的默认值为null, ...
- git 常用指令
下载项目 git clone https://git.oschina.net/jianqingwang/jianblog.git 注意,clone跟的是项目地址 查看分支(也就是版本) git bra ...
- java代码实现队列的优化
package com.voole.queun; /** * @Decription 队列 * @author TMAC-J * */ public class Queun { /** * 初始化队列 ...
- ASP.NET MVC搭建项目后台UI框架—9、服务器端排序
ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET M ...