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



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

任何关于哪个排队系统可以让我完成这项工作的输入将不胜感激。

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

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

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

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

消息队列触发器

只是一些额外的信息给你...在 IBM Websphere MQ 中,通过作为服务(在 Windows 实现中)或守护程序(在 UNixish 实现中)运行的触发器监视器应用程序,原生支持触发的应用程序。

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

因此,您对"启动应用程序的应用程序"的实现一点也不奇怪或奇怪。IBM在他们的实施中做到了这一点。我认为您的实现没有任何问题,如果您可以将其更紧密地集成到 activeMQ 中,那么您就是赢家。

IBM MQ 的触发功能怎么样?

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

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

最新更新