我希望我的Rails应用程序能够侦听并发布到ActiveMQ队列。
This article给出了如何使用ruby STOMP客户端的示例,以及将该客户端集成到Rails应用程序中的gem activemessaging
。那里的功能似乎很理想,但是activemessaging
gem似乎不再被维护。
[使用RabbitMQ代替ActiveMQ有很多资源,但我正在尝试改善Rails应用程序与已经使用ActiveMQ的现有Java堆栈的集成。
那么有人知道我可以用来实现与activemessaging
宝石相似的功能的宝石吗?我找不到一个,所以失败了:
我将如何初始化一个Stomp客户端,使其与我的Rails应用程序上下文中的activeMQ实例保持持久连接,使得1)客户端的生命周期与运行我的应用程序的ruby进程的生命周期相关联,而不是与请求-响应程序,以及2)我开始使用诸如Active Record模型或应用程序中定义的服务对象之类的代码来消费消息?
提前感谢。
根据ActiveMessaging project website:
ActiveMessaging是简化使用消息传递的通用框架,但不与任何特定的消息传递系统绑定-实际上,它现在已支持Stomp,AMQP,beanstalk,Amazon Simple Queue Service(SQS),JMS(使用StompConnect或直接在JRuby上),WebSphere MQ ...
因此,它是一个界面,可简化各种消息传递协议和/或提供程序之间的集成。但是,由于您使用的是标准消息传递协议(即STOMP),所以[[您并不是真的需要它。
我建议您只使用原始文章中引用的this STOMP gem。STOMP,顾名思义,是一个非常简单的协议。您应该可以使用它,但需要在应用程序中使用它。