当前位置: 首页 > 知识库问答 >
问题:

用于多源特定消息聚合和重定向到目的地的Camel模式

益炜
2023-03-14
<route id="routeId">
    <from uri="Source1"/>
    <from uri="Source2"/>
    <to   uri="Destination"/>
</route>

提前谢了。

共有1个答案

公西苗宣
2023-03-14

Camel聚合器和过滤器模式可用于此场景...

  • 使用筛选器检测“结束”消息并通过聚合器路由它们
  • 使用自定义聚合策略构建带有计数的单端消息
  • 使用自定义完成谓词触发完成消息

像这样的...

from("source1").to("direct:aggregateRoute"); 
from("source2").to("direct:aggregateRoute"); 
from("direct:aggregateRoute")
    .filter(header("isEndMessage").isEqualTo("true"))
        .aggregate(constant(true), new MyAggregationStrategy())
        .completionPredicate(new MyCompletionStrategy())
    .to("destination");
 类似资料:
  • 我正在寻找一种基于消息聚合的有条件处理消息的方法。我已经研究了很多方法来实现这一点,但似乎Apache Camel不支持它。我会解释这个场景,然后解释我尝试的解决方案。 我试图再次获取文件来处理它们。问题是,据我所知,你不能让消费者按需购买。我尝试使用pollenfrice,但它只能获取单个文件,而不是目录中的所有文件。 我试图筛选/停止父路由。这里的问题是filter()/choice...st

  • 将来自许多不同来源(实际上是队列/主题)的消息聚合到单个队列/主题中,然后使用它的最佳方法是什么。我正在尝试设计一个应用程序,以使用weblogic从JMS中的不同主题接收消息。

  • 我有一个用例: 我需要定期阅读和汇总Kafka主题的信息,并发布到不同的主题。本地存储不是一个选项。这就是我计划解决这个问题的方式,欢迎提出任何改进建议 为了安排Kafka消息的聚合和发布,计划使用聚合器EIP的completionInterval选项。这是代码。 路线是:

  • 我有Omnipay功能完美地在我的支付网关,但当系统重定向到PayPal我得到以下屏幕上重定向到PayPal之前: 重定向到https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout 我想知道的是,如果有人知道如何停止页面显示并直接重定向到没有这个中间页面的PayPal。我的重定向代码如下:

  • 我试图重定向到上一页的消息时,有一个致命的错误。 在试图使用访问消息的视图中 但是什么都没有表现出来,我是不是做错了什么?

  • 我是新手。NET(C#)和WebSocket。。。我已经安装了VS2012和Windows Server 2012,并且已经启动并运行了WebSocket。我似乎无法从一个套接字接收消息并将其发送到另一个特定的套接字。唯一的选择似乎是向所有套接字广播消息。有没有一种方法可以将消息只发送给特定的用户?我希望聊天室主持人有机会拒绝不适当的帖子。