Camel自定义PropertiesComponent

时间:2013-07-18 18:27:15

标签: spring apache-camel

我正在尝试通过Spring为我的CamelContexts配置自定义PropertiesComponent。根据{{​​3}}页面,我只需要添加类型org.apache.camel.component.properties.PropertiesComponent的bean定义。但是,我的CamelContext没有选择它,我似乎无法找到从CamelContext中引用bean的方法。我只是不断收到以下错误:

PropertiesComponent with name properties must be defined in CamelContext to support property placeholders.

如何通过Spring将PropertiesComponent添加到上下文中? (我想要使用propertyPlaceholder标记。)

到目前为止我有什么。 (一旦我能够正常工作,我就会将PropertiesComponent子类化。)

<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
    <property name="location" value="classpath:props.properties" />
</bean>

<camelContext xmlns="http://camel.apache.org/schema/spring" id="eventService">
    <routeBuilder ref="httpInbound" />
</camelContext>

3 个答案:

答案 0 :(得分:0)

在spring应用程序上下文中定义properties对象时,camel将使用该名称从Spring应用程序上下文中查找PropertiesComponent。

答案 1 :(得分:0)

也许您遇到this camel regression - 如果是这样,您可以升级到修复它的2.11.1。

答案 2 :(得分:0)

您是否尝试在驼峰上下文中定义属性占位符?

<camelContext xmlns="http://camel.apache.org/schema/spring" id="eventService">
    <propertyPlaceholder id="properties" location="classpath:props.properties"/>

    <routeBuilder ref="httpInbound" />
</camelContext>