如何在spring DSL中动态设置camelContext id?考虑我的情景,
Bundle A:有camelContext,我设置id属性说simple-ctx。这个bundle有一些其他的实用程序bean,在其他一些bundle中使用。
Bundle B:导入我定义了camel上下文的上下文文件。在B中我定义了B特定路线
Bundle C:导入我定义了camel上下文的上下文文件。在C中我定义了C特定路线
现在,bundle B和C依赖于Bundle A.现在,如果我执行context-list命令,它会列出simple-ctx。这意味着Bundle B和C具有相同的camelContext id。 我希望实现id应该像simple-ctx-B和simple-ctx-C,而不用在B或C中定义camelContext。
感谢您的建议和反馈。
答案 0 :(得分:3)
这是不可能的。 id
是固定值。但是,JMX命名可以采用动态值,例如计数器,bundle 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