2

我在使用 ActiveMQ-CPP 和 stomp 协议创建持久的消费者和生产者时遇到问题。我正在尝试使用 stomp 连接到 HornetQ,并且能够在非持久状态下发送和接收消息。我尝试通过将其传递模式以及消息的 CMSDeliveryMode 设置为持久,并创建一个 DurableConsumer 而不是普通消费者,将生产者更改为持久。但是当我查看 JBoss JMX-Console 时,它​​们都被认为是非持久的(消息被归类为非持久的,消费者也被订阅为非持久的)。

我什至尝试了集成测试 StompDurableTest 并且只收到了 20 条消息中的 10 条(当消费者处于活动状态时发送的消息)。所以测试失败了。

由于集成测试不起作用,我猜它与 ActiveMQ-cpp 或 Stomp 配置有关,而不是代码。我是否缺少任何东西来启用耐用性?

提前致谢,

萨米人

4

1 回答 1

1

Not sure about how HornetMQ works but I've seen that others have had issues with the destination names because hornet doesn't like the /topic and /queue prefix that CMS appends in order to work with ActiveMQ.

Another thing to be aware of is that with Stomp your clientId and subscription id need to match, and remain the same each time you connect.

Regards Tim

www.fusesource.com

于 2010-12-23T13:48:04.040 回答