如何配置Camel(版本2.8.1)创建的线程名称?我需要有更简洁的线程名称用于记录目的。
Camel documentation表示默认为:
Camel (#camelId#) thread ##counter# - #name#
其结果如下:
Camel (bundle_camel) thread #114 - JmsConsumer[SomeClassNameHere]
但我只想:
#camelId#-#counter#
这会给我一些类似的东西:
bundle_camel-114
文档说明了如何通过调用manager方法来更改线程名称模式,但我们只通过Spring DSL配置文件与Camel进行交互。
答案 0 :(得分:2)
是的,您需要使用执行程序服务策略定义<bean>
并设置其模式。虽然我认为我们应该允许将命名模式配置为<camelContext>
上的属性,您可以为JMX命名执行此操作。我将记录一张票以在Camel中增强此功能(尽管ASF JIRA目前处于维护模式)
在http://camel.apache.org/advanced-configuration-of-camelcontext-using-spring.html和http://camel.apache.org/threading-model.html
上查看一些详细信息答案 1 :(得分:1)
Camel 2.11让这更容易。
您可以在XML文件中使用threadNamePattern属性,如下所示:
<camelContext xmlns="http://camel.apache.org/schema/spring" threadNamePattern="#camelId#-#counter#">
<route>
...
</route>
</camelContext>
记录here。