java - Apache Camel 中 Camel Context 之间的同步通信

标签 java apache-camel esb apache-servicemix architectural-patterns

在上一个项目中,我能够使用 direct:vm组件,我认为这是解决我的任务的最佳组件。不幸的是,现在我无法使用它,因为我仅限于 ServiceMix 的 Camel 版本,即 2.6.0-fuse-00-00,所以我找到了规范化消息路由器 ( NMR )。我发现NMR默认是异步的,但是可以通过参数synchronous设置为同步。使用它代替 direct:vm 组件仍然是一个好的解决方案吗?我将它与 enrich 一起使用组件,我没有发现任何问题。

最佳答案

在 OSGi 环境中,每个包都与其他包完全分开。 NMR 组件允许 bundle 使用 ServiceMix 中的此功能将 Camel 路由作为资源公开给容器中的其他 bundle 。 direct-vm 组件直到 Camel 2.10 才引入,因此对于您的版本,NMR 组件是最合适的。它仍然被认为是轻量级的,但比直接公开路由功能更丰富。它仍然比使用 JBI 技术更好,后者应该被视为遗留技术。

关于java - Apache Camel 中 Camel Context 之间的同步通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30777406/

相关文章:

java - Apache Camel - Kafka 组件 - 单生产者多消费者

java - wso2esb 和 wso2as - 两个 Web 服务的链接或编排

java - 在Mule中使用Arraylist查询Salesforce

java - 迭代时从集合中删除元素

java - 继续程序执行

java - 更改 apache Camel 的 http 响应和正文响应

http - Apache Camel : who takes care of sending out HTTP messages?

java - Apache Camel 中按时间顺序排列两个来源的消息

java - ArrayList<Hashmap<String,Double[]> 将值分配给单个 Double[]

java - Android Studio DatePicker 在微调模式下显示年份部分