我在使用ActiveMQ-CPP和stomp协议创建持久的消费者和生产者时遇到了问题。我正在尝试使用stomp连接到HornetQ,并且能够在非持久状态下发送和接收消息。我尝试将生产者更改为耐久,方法是将其交付模式设置为persistent以及消息的CMSDeliveryMode,并创建DurableConsumer而不是普通的消费者。但是当我查看JBoss JMX-Console时,它们都被认为是非持久的(消息被归类为非持久的,消费者也被订阅为非持久的)。
我甚至尝试了集成测试StompDurableTest,只收到了20条消息中的10条(当消费者处于活动状态时发送的消息)。所以测试失败了。
由于集成测试不起作用,我猜它与ActiveMQ-cpp或Stomp配置有关,而不是代码。我是不是遗漏了什么东西来实现持久性?
提前谢谢你,
萨米语
发布于 2010-12-23 21:48:04
我不确定HornetMQ是如何工作的,但我看到其他人在目的地名称方面也有问题,因为hornet不喜欢/topic和/queue前缀,这些前缀是为了与ActiveMQ一起工作而附加的。
另一件需要注意的事情是,使用Stomp时,你的clientId和订阅id需要匹配,并在每次连接时保持不变。
问候时间
www.fusesource.com
https://stackoverflow.com/questions/4516910
复制相似问题