java - 阻塞路由直到消费者收到消息

标签 java apache-camel integration eip

我有一条这样的路线:

[producer1]--->[blocker]--->                 
                           |--->[aggregator]---> [consumer]
[producer2]---------------->

Producer1producer2正在向 aggregator 推送消息。如果有两条消息具有相同的 id,则聚合完成,聚合后的消息将被路由到消费者。

是否可以封锁producer1之后的路线发送消息至aggregator ?类似 wait until the consumer receives the aggregated message

最佳答案

不,这是不可能的,因为聚合器是两条腿的。因此,聚合器输出的内容与输入的内容无关。

但是,您可以构建一个 java bean 并使用 CountDownLatch,然后在调用聚合器后进行阻止,然后在从聚合器收到传出消息时发出倒计时信号。

关于java - 阻塞路由直到消费者收到消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42784330/

相关文章:

.net - 本土集成系统还是 ESB?

java - 如何传递对 promise 的响应集合

java - 如何将文件传递给testng测试方法?

java - 获取 Google Maps API v2 的 API key 时出现 'Your input was invalid' 错误

java - 安全删除 "unused"运行时依赖项

java - EIP/Apache Camel - 如何同时处理消息,但按组原子处理?

logging - 在 Apache Camel 中记录过滤消息体的最佳方法

Java - 用具体类型覆盖对象类型参数

python - 在 python 中集成 OCaml - 如何从 python 中保持 ocaml session ?

intellij-idea - intellij 社区 2016.2 jboss 集成插件未找到