应用程序有几个camel上下文,每个上下文都在做自己的事情,因此不需要相互通信。它们在同一个模块中,因为它们共享一些类。
在一个osgi模块中出现多个上下文时,是否存在需要注意的问题?
在这种情况下,建议和最佳实践是什么?
发布于 2017-06-29 20:49:19
这是相当主观的。IMHO:要考虑的两大问题是过程控制和升级影响。记住--在包升级期间,所有上下文都将停止,然后重新启动。
您仍然能够在Camel上下文和路由级别执行精细的谷物过程控制(开始、停止、暂停、恢复),而不必依赖包启动停止。
如果您想要良好的谷物升级能力,可以将Java类放入自己的包中,导出包。然后将Camel上下文放入自己的包中,并从共享包中导入Java类。然后,您就有能力对Camel上下文进行单独的升级,w/o必须同时升级所有上下文(并强制它们全部停止)。
发布于 2017-06-30 07:02:52
一个建议是:拥有无状态bean/处理器/聚合器。
有关身体处理的所有状态相关信息必须位于Exchange标头/属性中。
static final常数很好。
配置只读属性也可以。
https://stackoverflow.com/questions/44833893
复制相似问题