java - 如何获取ActiveMQ中所有排队的消息?

标签 java activemq

我想构建一个简单的消费者程序(用java)来获取ActiveMQ主题中存储的所有消息。 我有一个生产者,它在队列中发送 TextMessage。

但我不知道如何开始编写我的消费者来检索旧消息并等待新消息。

如果有例子,谢谢!

这是我的制作人:http://pastebin.com/uRy9D8mY

这是我的消费者:http://pastebin.com/bZh4r66e

当我在消费者之前运行生产者,然后运行消费者时,我什么也没得到。 当我运行消费者然后运行生产者时,我在队列中添加了 72 条消息,但我的消费者只收到 24 条消息...

最佳答案

我建议阅读本教程(Apache ActiveMQ 也是如此)SUN Jms tutorial

编写 JMS/ActiveMQ 程序的方法有很多种,可以使用 Spring 等各种框架,也可以使用普通的 java。

本质上,编写一个像这样的监听器类:

public class MyListener implements MessageListener{
   public void onMessage(Message message){
      // Read and handle message here.
   }
}

由于您已经在生成消息,我假设您已建立连接并正在运行。

session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
consumer = session.createConsumer("MyQueue");
listener = new MyListener ();
consumer.setMessageListener(listener);
connection.start(); 
// At this point, messages should arrive from the queue to your listener.

还有一些错误处理代码未包含在本示例中,但您应该能够借助教程和 JMS 文档来弄清楚。

关于java - 如何获取ActiveMQ中所有排队的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10795220/

相关文章:

java - 获取错误: connect ECONNREFUSED while making active MQ Connection?

mysql - 如何解决activeMQ msyql cluster get Attempting to acquire the Exclusive Lock错误?

java - 如何以编程方式从客户端获取 ActiveMQ 代理版本

java - 尽管进行了检查,字符串仍出现空指针异常

java - final public static int 不能用在 switch 语句中?

Java Rest 服务打印带有换行符的列表

java - 尝试在 google app engine for java 中实现异步 http 时出现奇怪的异常

json - JMeter/AMQ - 从 JSON 文件读取字符串时替换子字符串

java - XMPP Client(带smack)和ActiveMQ,如何拦截 "adminConsole"消息

java - 正则表达式 - 获取两个 % 字符之间的内容,不包含任何包含空格的匹配项