1

我是 Qpid 和 JMS 的新手,我正在尝试使用 Qpid Java 代理制作一个非常简单的 Java 应用程序。

我正在实现这个示例,它只是发送和接收预定义的消息。
http://qpid.apache.org/releases/qpid-0.24/qpid-jms/examples/Hello.java.html

我将应用程序分为两部分,消费者生产者

如果我先启动示例的消费者部分,然后启动生产者部分,一切正常,消息被消费。

但是如果我先启动生产者然后启动消费者,消息就会丢失。

换句话说,我如何存储生产者发送的消息,以便以后使用消费者应用程序检索它们?

提前致谢!

4

1 回答 1

1

您正在向/从 EXCHANGE 发射/收听,为了获得您所描述的行为,您应该创建一个QUEUE并将其用作发射器的消息目的地。

如果您使用的是 Apache QPID 代理 Java 实现,您可以在代理 Web 管理站点按照以下步骤创建一个新 QUEUE:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

在您的代码方面,您应该将您使用的 EXCHANGE 名称更改为新的 QUEUE 名称。

于 2014-04-04T11:40:30.010 回答