一个osgi模块中有多个camelcontexts - 需要注意什么?

时间:2017-06-29 19:56:03

标签: apache-camel osgi

应用程序有几个驼峰上下文,每个都做自己的事情,因此不需要彼此通信。它们属于同一模块,因为它们共享一些类。

在单个osgi模块中出现多个上下文时,是否需要注意哪些问题?

在这种情况下,建议和最佳做法是什么?

2 个答案:

答案 0 :(得分:3)

这是相当主观的。恕我直言:需要考虑的两件大事是过程控制和升级影响。请记住 - 在捆绑升级期间,所有上下文都将停止然后重新启动。

你仍然可以在Camel Context和Route级别进行细粒度过程控制(启动,停止,暂停,恢复),而不必依赖bundle start |停。

如果您想要精细的谷物升级能力,您可以将Java类放在他们自己的包中,导出包。然后将Camel Contexts放在他们自己的包中,并从共享包中导入Java类。然后,您可以单独升级Camel上下文,而不必立即升级所有上下文(并强制它们全部停止)。

答案 1 :(得分:1)

一个建议:拥有无状态 bean /处理器/聚合器。

有关您身体处理的所有州相关信息必须存在于Exchange标头/属性中。

{{1}}常数很好。
配置只读属性也很好。