OSGi Container 中的骆驼:将 InterceptStrategy 应用于所有骆驼上下文
我有几个捆绑包(A,B和C)部署到OSGi容器,每个捆绑包都包含一个和一些路由。我有另一个捆绑包(M),带有路由(用于收集监视数据)和bean。我希望来自 M 的 bean 自动应用于容器中的所有其他 s(即 A、B 和 C 中的 bean),而不必修改其他捆绑包。CamelContext
CamelContext
InterceptStrategy
InterceptStrategy
CamelContext
最终,目标是将数据从每个路由窃听到 M 中的路由中,而不必对 A、B 或 C 进行任何更改来显式路由 .这种方法或类似的方法是否可行?CamelContext
Exchange
所有这些都是使用Spring XML配置的。CamelContext
更新:其他上下文
捆绑包 A、B 和 C 包含负责处理数据的核心产品。Bundle M 包含一个可选的监视工具,旨在测量流经 A、B 和 C 的数据的某些参数。目前,在可选工具上添加需要更改 A、B 和 C 中的路由以添加其他 s 以丰富监视数据,并在终结点之前读取监视数据。Processor
Exchange
<to />
目标是能够将 Bundle M 放入具有 A、B 和 C 的已验证的工作系统中。并使其自动应用于现有路由,而无需修改现有分发包和工作包的配置。对 A、B 和 C 进行修改以支持这一点是可以接受的,只要这些更改不会导致 A、B 和 C 依赖 M 运行(即 ABC 必须仍然在没有 M 的情况下运行)。
如果有比使用拦截器更好的方法来做到这一点,我对此持开放态度。主要目标是:
- 保持 A、B 和 C 与 M 解耦(特别是在开发过程中)
- 确保将 M 与 A、B 和 C 集成尽可能简单
- 允许集成 M,而无需手动更改 A、B 或 C