1

我正在尝试通过 Spring 为我的 CamelContexts 配置自定义 PropertiesComponent。根据这个页面,我只需要添加一个 type 的 bean 定义org.apache.camel.component.properties.PropertiesComponent。但是,我的 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>
4

3 回答 3

0

也许您正在经历这种骆驼回归- 如果是这样,您可以升级到修复它的 2.11.1。

于 2013-08-02T17:26:04.997 回答
0

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

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

    <routeBuilder ref="httpInbound" />
</camelContext>
于 2014-03-10T19:38:57.840 回答
0

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

于 2013-07-19T01:59:06.190 回答