如何使用Grails发送持久消息?

如何使用Grails发送持久消息?,grails,message-queue,messaging,esb,Grails,Message Queue,Messaging,Esb,免责声明:。试图学习grails的网友 我已经习惯于使用分布式持久消息层构建服务,以便与NServiceBus和MSMQ进行服务间通信 对于任何不熟悉NServiceBus的人,NServiceBus仅通过引用程序集、执行一些快速依赖项注入来提供消息传递 然后,为了使用它,我可以简单地发送消息,方法是对命令执行bus.send(“location”,messageObject),对发布/订阅情况执行bus.publish(messageObject)。然后,我所要做的就是创建一个“侦听”我的me

免责声明:。试图学习grails的网友

我已经习惯于使用分布式持久消息层构建服务,以便与NServiceBus和MSMQ进行服务间通信

对于任何不熟悉NServiceBus的人,NServiceBus仅通过引用程序集、执行一些快速依赖项注入来提供消息传递

然后,为了使用它,我可以简单地发送消息,方法是对命令执行
bus.send(“location”,messageObject)
,对发布/订阅情况执行
bus.publish(messageObject)
。然后,我所要做的就是创建一个“侦听”我的messageObject类型的服务,然后我就得到了消息

它还提供了一些他们称之为超时的东西——这基本上会在x个时间量后触发一些事件处理程序(用于发送提醒或按计划执行某些操作)

我在找类似的东西。我发现一篇文章建议将grails本身用作ESB,但我不知道grails如何提供可靠和持久的消息传递。我的意思是-如果服务A向服务B发送消息,而服务B关闭,服务A将稍后重试。一个更复杂的例子是一个传奇——客户端开始一个传奇,服务A做了一些事情,服务B做了一些事情,当他们完成处理时都向传奇报告,然后传奇向服务C发送一条消息,以便它可以做它的事情,知道服务A和B都完成了他们的工作

PS:如果这个问题太宽泛,请告诉我如何改进它。我刚刚开始学习grails,所以我甚至不确定我需要从哪里开始研究东西


编辑:意识到我忘了添加文章-

我可能会使用一些带有Grails插件的AMQP队列(如RabbitMQ)

虽然这并不能为您提供MSMQ上NServiceBus的所有功能,但您可以获得所需的持久消息传递行为。您将放弃/必须自己实现的东西包括一些重试逻辑、传奇和消息幂等性