如何在 Spring DSL 中动态设置 CamelContext ID?

How to dynamically setting CamelContext ID in Spring DSL?

如何在spring DSL中动态设置camelContext id?像这样考虑我的情况,

Bundle A:在我设置 id 属性的地方有 camelContext say simple-ctx。这个 bundle 有一些其他的实用程序 bean,在其他一些 bundle 中使用。

Bundle B:导入我在其中定义骆驼上下文的上下文文件。在 B 中,我定义了 B 特定路线

Bundle C:导入我在其中定义骆驼上下文的上下文文件。在 C 中,我定义了 C 特定路线

现在,Bundle B 和 C 依赖于 Bundle A。现在,如果我执行 context-list 命令,它会列出 simple-ctx。这意味着 Bundle B 和 C 具有相同的 camelContext id。 我想在不在 B 或 C 中定义 camelContext 的情况下实现 id 应该像 simple-ctx-B 和 simple-ctx-C。

感谢您的建议和反馈。

这是不可能的。 id 是固定值。然而,JMX 命名可以采用动态值,例如计数器、包 ID 等。

http://camel.apache.org/camel-jmx.html

听起来好像你希望 A 有一个前缀是其父名称的命名?

也不是所有捆绑包中都有 camelContext。您可以在 A 中使用 routes,这样这些路由包含在与 B 或 C 相同的 camelContext 中:http://camel.apache.org/how-do-i-import-routes-from-other-xml-files.html