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

问题描述 投票:0回答:5

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

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

rabbitmq activemq msmq message-queue zeromq
5个回答
1
投票

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


1
投票

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

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


0
投票

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

Message Queuing Triggers


0
投票

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

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

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


0
投票

那么IBM MQ的触发功能呢?

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

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

© www.soinside.com 2019 - 2024. All rights reserved.