在ruby中使用ActiveMQ + activemessaging gem的问题

时间:2009-08-24 08:55:51

标签: ruby message-queue stomp event-driven-design

我在Rails应用程序中运行AMQ + Activemessaging。

我遇到了一个问题,即在收到消息后,activemessaging不会对消息采取行动。一旦我重新启动客户端,这就解决了。显然,它可以工作一段时间,但不确定它何时停止表现奇怪。

这会导致在读取消息时丢失消息,Stomp客户端配置为:ack => true确认收到消息,但是,在发送消息时,没有数据可用。

是否有人面临类似问题或使用Activemessaging的替代方案?

你有使用AMQ + Ruby的工作场景吗?

干杯,

4 个答案:

答案 0 :(得分:2)

尝试:ack =>'client'或:ack =>'auto'代替。

:ack => true不是有效的配置,不知道会做什么 - 没什么好处。

有效选项是'client'和'auto'(auto是默认值,客户端确保客户端一次响应一条消息,并且在最后一次消息之前永远不会发送另一条消息)。

请参阅此处了解ack选项如何在stomp中运行:http://stomp.codehaus.org/Protocol

干杯,

-Andrew Kuklewicz

答案 1 :(得分:1)

这是一个旧线程,但只是想提一下,活动消息传递gem有一个错误,它没有更新连接 - 它适用于旧版本的Rails,但在2.1左右的某个地方打破了。它现在再次运作。

答案 2 :(得分:1)

它现在再次运作。

不适合我。使用0.7.1仍然有相同的问题。每隔一段时间AM就会从AMQ中的订阅队列中被删除。

答案 3 :(得分:0)

对所有ActiveMessaging用户:花了很长时间试图找出问题并尝试不同的场景和解决方案后,问题变成了MySQL连接超时。出于某种原因,当消息出现在队列中时,未重新建立连接。任何人都面临类似的情况,解决方案是什么。 干杯,

Constantine Nicolaou