java - completionTimeOut 或 TimeoutAwareAggregationStrategy 超时

标签 java apache-camel

我正在使用多播将传入消息发送到两个不同的端点并聚合响应。即使其中一个端点响应超时,我也想获得响应。 我可以使用哪种方法“超时”或completionTimeout? 我正在使用并行处理来处理消息。

 .multicast()
 .to("direct:A","direct:B")
 .parallelProcessing()
 //.timeout(1000L)
 .aggregationStrategy(new MyAggregationStrategy())
 //.completionTimeout(2000L)
 .end()

在这种情况下如何使用 TimeoutAwareAggregationStrategy。

public class MyAggregationStrategy implements TimeoutAwareAggregationStrategy {
@Override
public Exchange aggregate(Exchange newExchange, Exchange originalExchange) {
    if(newExchange==null){
        return originalExchange;
    }
    else {
        ExchangeHelper.copyResults(originalExchange, newExchange);
        return originalExchange;
    }
}}

最佳答案

关于java - completionTimeOut 或 TimeoutAwareAggregationStrategy 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45138276/

相关文章:

java - 在等待 api 调用完成时并行调用 N 阻塞 api 调用以充分利用 CPU 的最佳方法是什么?

java - Apache Camel 无法在 xxx 毫秒内获取锁。将跳过该文件

java - Camel 代理提示类型错误

java - Apache camel,一条通往 "join"2条路线的路

java - 在 Tomcat 7 中扩展 AuthenticatorBase

java - 如何获取java运行时源?

java - 在接口(interface)中编写类有什么用

java - 是否可以使用 AOP 进行 Web 应用程序许可证验证?

java - Camel-FTP 超时并创建 0 字节文件

java - 在 Akka 中实现基于内容的路由器模式