我正在使用 IBM 的 Websphere MQ 队列,我想连接到其中的多个队列,浏览每个消息,并将它们全部路由到另一个队列,不同的应用程序将从该队列中读取消息。
从“主”队列读取的应用程序是用 Java 编写的,并使用 Spring Boot 和 JMS 处理来自队列的消息。我发现使用此应用程序连接到多个队列很困难,因此想法是创建一个路由器应用程序,它将连接到多个队列,清除“主”队列,并用收集的队列中的消息填充它。
我也开始使用 Java 开发“路由器”应用程序,并决定使用 Spring Boot,而不是 JMS,但在概念上仍然发现了一些困难。
所以我想知道 Java 是否适合这份工作(或者也许我错过了一些基本的东西)。我也在考虑 Perl 脚本,但我对该语言的经验不是很丰富(如果有的话),但我不想否认它是一个可行的选择。
那么这两种语言中的哪一种可以被证明是:
1)可维护
2)比较容易阅读
3)高效
完成一项任务,例如我所描述的任务?
两者的优点和缺点都会很好。
最佳答案
Java中最先进的EIP集成框架是Apache Camel。我建议使用它。使用 Apache Camel,您可以以类似于以下的形式编写路由器:
public class Routes extends RouteBuilder {
@Override
public void configure() throws Exception {
from("jms:InputOneQueue1").to("jms:destinationQueue");
from("jms:InputOneQueue2").to("jms:destinationQueue");
from("jms:InputOneQueue3").to("jms:destinationQueue");
}
}
关于java - 连接到多个队列并将其消息路由到另一个队列的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36772759/