我正在尝试通过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>
答案 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>