任何排队系统都可以触发外部应用程序

时间:2013-09-04 08:53:18

标签: rabbitmq activemq msmq message-queue zeromq

现在我们有一个存储消息的排队系统(activemq)。我们编写了一个单独的java应用程序,它将读取队列,然后触发exe来进行一些处理。但我们想要取消连接我们的activemq和exe的额外应用程序。所以我想知道是否有任何排队系统都有一个代码,可以帮助我运行exe而无需我编写任何额外的代码。

关于哪个排队系统可以让我这样做的任何输入将不胜感激。

5 个答案:

答案 0 :(得分:1)

这不是Message Brokers的工作方式。但是,您可以在自己的应用程序中嵌入代理或创建代理插件来执行某些操作。最后,尽管最好的方法是创建自己的客户端,它可以实现您的业务逻辑,让Message Broker执行它的设计目的,路由消息流量。

答案 1 :(得分:1)

如果你想要更多的“推送”解决方案而不是生产者 - 消费者解决方案(这听起来像你一样),你可以研究一下WebSockets的使用。这将是处理消息的另一种方式。

正如其他人所说,如果您不想使用其他中间件来提供异步通信,那么使用消息代理就不是您想要的解决方案。

答案 2 :(得分:0)

所以你需要一些东西才能在消息到达时启动EXE?

Message Queuing Triggers

答案 3 :(得分:0)

为您提供一些其他信息... IBM Websphere MQ通过作为服务(在Windows实现中)或守护程序(在UNixish实现中)运行的Trigger Monitor应用程序本机支持触发的应用程序。

当消息到达队列时,MQ软件将生成另一条消息(“触发”消息并将其发送到“触发器”队列,该队列正由Trigger Manager应用程序监视。该应用程序然后启动所需的应用程序

因此,您实施“启动应用程序的应用程序”并不奇怪,也不奇怪...... IBM在实施过程中做到了这一点。我认为您的实施没有任何问题,如果您可以将它更紧密地集成到activeMQ,那么您就是胜利者。

答案 4 :(得分:0)

IBM MQ的触发功能如何?

  

WebSphere MQ提供了一项功能,当有消息可从队列中检索时,该功能使应用程序或通道能够自动启动。将消息放入定义为已触发的队列。如果满足一系列条件,则队列管理器将触发消息发送到启动队列。

https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q026940_.htm