在上一个项目中,我能够使用direct:vm组件,这在我看来是解决我的任务的最佳组件。不幸的是,现在我不能使用它,因为我仅限于ServiceMix的Camel版本,它是2.6.0-fuse-00-00,所以我找到了规范化消息路由器(NMR)。我发现NMR在默认情况下是异步的,但可以通过参数同步设置为同步。使用它代替直接:vm组件仍然是好的解决方案吗?我使用它与丰富的组件,我没有发现任何问题,
在OSGi环境中,每个bundle与其他bundle保持相当的分离。NMR
组件允许bundle使用ServiceMix中的这个功能,将Camel路由作为资源公开给容器中的其他bundle。direct-vm
组件直到Camel 2.10才引入,因此对于您的版本,NMR
组件是最适合的。它仍然被认为是轻量级的,但比直接暴露路由功能更丰富。它仍然比使用JBI
技术要好,后者应该被视为遗留技术。