0

如何配置 Camel(2.8.1 版)创建的线程名称?为了记录目的,我需要更简洁的线程名称。

Camel 文档声明默认值为:

Camel (#camelId#) thread ##counter# - #name#

这导致名称如下:

Camel (bundle_camel) thread #114 - JmsConsumer[SomeClassNameHere]

但我只想:

#camelId#-#counter#

这会给我类似的东西:

bundle_camel-114

文档说明了如何通过调用管理器方法来更改线程名称模式,但我们只通过 Spring DSL 配置文件与 Camel 交互。

4

2 回答 2

2

是的,您需要<bean>使用执行程序服务策略定义 a 并设置其模式。虽然我认为我们应该允许将命名模式配置为<camelContext>可以为 JMX 命名执行的属性。我将记录一张票以在 Camel 中增强此功能(尽管 ASF JIRA 目前处于维护模式)

请参阅http://camel.apache.org/advanced-configuration-of-camelcontext-using-spring.htmlhttp://camel.apache.org/threading-model.html的一些详细信息

于 2012-11-18T12:03:47.530 回答
1

Camel 2.11 使这更容易。

您可以在 XML 文件中使用 threadNamePattern 属性,如下所示:

<camelContext xmlns="http://camel.apache.org/schema/spring" threadNamePattern="#camelId#-#counter#">
  <route>
      ...
  </route>
</camelContext>

记录在这里

于 2015-12-17T20:09:11.757 回答