我使用Spring(v4.3.2.RELEASE)使用Camel(v2.17.3)并且将属性参数传递给方法时遇到了麻烦。
我试图做出选择/何时,但是它传递了普通字符串而不是属性{{elmu.inMask}}的值:
<choice>
<when>
<method ref="eleoHelper" method="checkInMask(${exchange}, ${file:name}, {{elmu.inMask}})" />
<log message="${body}" />
</when>
</choice>
最后,我想出当我在setHeader中使用相同的内容(以及标题的值作为选择/何时的变通方法)时,它运行良好。
<setHeader headerName="toCollect">
<method ref="eleoHelper" method="checkInMask(${exchange}, ${file:name}, {{elmu.inMask}})" />
</setHeader>
但是我有几个属性,我不喜欢这种解决方法。
属性bean定义:
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
<property name="location" value="file:ELEOSFTP.properties" />
<property name="encoding" value="UTF-8" />
</bean>
冷,你告诉我我的代码有什么问题,如何在选择/何时使用属性值?
答案 0 :(得分:0)
这些是bean属性。我猜你需要创建setter / getters和一个类变量来映射属性。
<cm:properties>
中定义的标准属性可以按照您的方式引用。
答案 1 :(得分:0)
尝试:
method=checkInMask($exchangeProperty.<property name>)