============================================================================
原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。
请注明转自:http://yunjianfei.iteye.com/blog/
============================================================================
最近做一个东西要用到activemq,同时希望能自己写一个页面来管理队列中的消息(list, del等)查阅了官网,说5.8以后的版本支持rest方式。但是官网却没有详细的介绍。
于是我就用chrom浏览器,跟踪8161端口的web管理界面,把http的请求抓出来,整理了下,放在下面,希望能帮助到大家。具体如下:(codec是队列名)
一. 获取队列内消息:
1. cmd方式:/data/yunfei/apache-activemq-5.9.0/bin/activemq-admin browse --amqurl tcp://localhost:61616 codec
2. URL方式:
curl -u "admin:admin" -d "{\"type\":\"exec\",\"mbean\":\"org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=codec\",\"operation\":\"browse()\"}" http://localhost:8161/hawtio/jolokia/
curl -u "admin:admin" -d "{\"type\":\"exec\",\"mbean\":\"org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=codec\",\"operation\":\"browseAsTable()\"}" http://localhost:8161/hawtio/jolokia/
2. URL方式:
curl -u "admin:admin" -d "{\"type\":\"exec\",\"mbean\":\"org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=codec\",\"operation\":\"browse()\"}" http://localhost:8161/hawtio/jolokia/
curl -u "admin:admin" -d "{\"type\":\"exec\",\"mbean\":\"org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=codec\",\"operation\":\"browseAsTable()\"}" http://localhost:8161/hawtio/jolokia/
二.删除队列中等待的某个消息:
1. cmd方式:/data/yunfei/apache-activemq-5.9.0/bin/activemq-admin purge --msgsel "JMSType='111'" codec
注:JMSType的值对应vid
2. URL方式:
curl -u "admin:admin" -d "{\"type\":\"exec\",\"mbean\":\"org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=codec\",\"operation\":\"removeMessage(java.lang.String)\",\"arguments\":[\"ID:tj-10-47-9909-1389693308017-2:25:-1:1:1\"]}" http://localhost:8161/hawtio/jolokia/
需要修改的是\"arguments\":[\"ID:tj-10-47-9909-1389693308017-10:1:1:1:1\" 这里面的messageid,改成要删除的id
注:JMSType的值对应vid
2. URL方式:
curl -u "admin:admin" -d "{\"type\":\"exec\",\"mbean\":\"org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=codec\",\"operation\":\"removeMessage(java.lang.String)\",\"arguments\":[\"ID:tj-10-47-9909-1389693308017-2:25:-1:1:1\"]}" http://localhost:8161/hawtio/jolokia/
需要修改的是\"arguments\":[\"ID:tj-10-47-9909-1389693308017-10:1:1:1:1\" 这里面的messageid,改成要删除的id
三.删除队列中所有消息
1.cmd方式:/data/yunfei/apache-activemq-5.9.0/bin/activemq-admin purge codec
2.URL方式:
curl -u "admin:admin" -d "{\"type\":\"exec\",\"mbean\":\"org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=codec\",\"operation\":\"purge()\"}" http://localhost:8161/hawtio/jolokia/
2.URL方式:
curl -u "admin:admin" -d "{\"type\":\"exec\",\"mbean\":\"org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=codec\",\"operation\":\"purge()\"}" http://localhost:8161/hawtio/jolokia/
相关推荐
5. **性能优化**:ActiveMQ使用高效的内存管理策略,以减少磁盘I/O操作,提高消息处理速度。 6. **多语言支持**:提供了多种语言的客户端库,包括Java、C++、Python等,方便不同平台的应用集成。 **SpringBoot2.x与...
总结起来,"JMS之Spring + ActiveMQ实现消息队列"涉及到的关键知识点包括:Spring框架的JMS支持、ActiveMQ的使用、ConnectionFactory的配置、JmsTemplate和MessageListener的实现,以及消息队列在解决系统解耦和异步...
这可能包括使用ActiveMQ的内置Jetty服务器来运行Web控制台,或者展示如何通过HTTP/HTTPS接口进行管理操作,如发送消息、查看队列状态等。 在实践中,学习ActiveMQ的例子通常会涉及以下步骤: 1. **安装与启动**:...
在部署方式上,ActiveMQ和RabbitMQ通常都有Web管理界面,用户可通过界面直观管理消息队列。RocketMQ同样支持通过管理界面进行集群管理、消息监控等功能。此外,RabbitMQ还支持动态扩展,适合于需要处理大量队列的...
在压缩包中的"ActiveMQ接受和发送工具"很可能包含了一个图形界面或者命令行工具,使得用户可以更直观地发送测试消息到ActiveMQ服务器,查看消息队列的状态,以及接收消息。使用这些工具,开发者可以快速验证ActiveMQ...
4. 路由与过滤:ActiveMQ允许消息路由到特定的消费者,支持主题(Topic)和队列(Queue)两种模式,以及基于消息属性的过滤。 5. 安全性:支持用户认证和授权,可以保护消息的安全传输。 在"activemq_basic.rar"中...
这个简单的ActiveMQ例子可能是为了演示如何设置和使用基本的生产者和消费者,以及如何通过消息队列实现异步通信。在实际应用中,我们还可以利用ActiveMQ的高级特性,如持久化、优先级、消息筛选等,以满足更复杂的...
`JmsTemplate`提供了一种简单且灵活的方式来执行发送和接收消息的操作,同时处理了底层的JMS API细节。 另一方面,`DefaultMessageListenerContainer`用于监听特定的队列或主题,当有新消息到达时,它会自动调用...
JMS是Java平台上的一个标准接口,定义了生产、消费、管理和消息队列的标准API。ActiveMQ作为JMS的实现,提供了多种协议支持,包括开放的AMQP、STOMP、MQTT和WebSocket,使得非Java应用也能轻松集成。 在ActiveMQ...
JMS 提供了以下几种可靠性机制: * 确认机制:JMS 消息只有在被确认之后,才认为已经被成功地消费了。 * 持久性机制:JMS 支持以下两种消息提交模式:PERSISTENT 和 NON_PERSISTENT。 * 优先级机制:可以使用消息...
总之,ActiveMQ Web 5.2.0版本为Java Web开发者提供了一种便捷的、基于Web的ActiveMQ管理方式,简化了消息中间件的使用和维护。通过深入理解和充分利用这个版本的功能,开发者可以构建更高效、可靠的分布式系统,...
同时,ActiveMQ还提供了丰富的监控和管理工具,如Web控制台,便于对消息队列进行管理和监控。 总之,ActiveMQ和Spring的整合是Java企业级应用中常见的一种架构模式,它利用消息队列技术提升了系统的稳定性和可扩展...
7. **管理接口**:ActiveMQ有Web控制台和JMX接口,方便管理员监控和管理消息队列。源码中会有这些管理工具的实现。 8. **测试框架**:为了保证代码质量,ActiveMQ使用了大量的单元测试和集成测试。开发者可以从测试...
7. **ActiveMQ特性**:ActiveMQ提供许多高级特性,如主题(Topics)和队列(Queues)、优先级消息、消息分页、网络连接、以及通过JMX进行监控和管理。 8. **Spring Boot与ActiveMQ**:在Spring Boot应用中,可以...
Activemq的整体架构由以下几个核心角色组成: * Client:本地用户API来发送和接收消息的应用程序 * Producer:发送端创建和发送消息的客户端 * Consumer:接收和处理消息的客户端 * Broker:消息队列Queue,用于...
1. **JMS规范**:JMS是Java平台上的标准接口,用于与消息队列交互。它定义了生产者如何发送消息以及消费者如何接收消息的规则。ActiveMQ作为JMS实现,支持点对点(Queue)和发布/订阅(Topic)两种模式。 2. **消息...
1. **ActiveMQ安装与配置**:首先需要在服务器上安装并配置ActiveMQ,包括设置监听端口、配置用户权限以及管理虚拟主题等。这通常通过修改activemq.xml配置文件完成。 2. **JMS(Java消息服务)接口**:ActiveMQ是...
ActiveMQ不仅能够通过各种协议连接多种客户端,还允许用户通过其提供的管理控制台来监控消息队列的状态和消息流量等信息,从而帮助开发者管理消息系统,确保消息传递的可靠性和有效性。 ActiveMQ具备易用性、高性能...
同时,ActiveMQ提供了一个Web控制台,可以实时监控消息的流动、检查队列状态以及日志查看等。 通过这个测试工程,开发者可以深入理解ActiveMQ的工作原理,学习如何在实际项目中利用其特性,提升系统的稳定性和可...