java - 连接到多个队列并将其消息路由到另一个队列的最有效方法

标签 java spring perl ibm-mq processing-efficiency

我正在使用 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/

相关文章:

java - 为什么消费者在使用 Java 客户端 API 在 DC/OS 上使用来自 Kafka 的消息时挂起?

java.lang.NoSuchMethodError : . ....EventProcessor:找不到方法 <init>()V

java - 防止setter在Spring bean中被调用两次?

perl - 谁能用 Perl 解释一下(我的 $self = shift)

java - Maven+Eclipse编译失败,终端上的Maven编译正常

java - 忽略带有 null 的属性(哈希表)值

javascript - 如何从同一数组中搜索以其他词开头和结尾的词?

arrays - Perl:将数组分配给散列

java - 如何检查 body 是否几乎停止在 libgdx + box2d 中移动

Spring-Boot:默认 Controller 避免加载静态资源