Apache camel 在管线主体中设置对象
Apache camel 在管线主体中设置对象,apache-camel,Apache Camel,我正在寻找一种方法来构造一个对象并将其设置在路线主体中。假设我的Bean名为sample.Person,我需要调用它的一个构造函数Person(name)并将其设置到主体中。 大概是这样的: <bean id="myBean" class="sample.Person"/> <route id="myroute"> <from uri="timer:foo?repeatCount=1"/> <setBody> &l
我正在寻找一种方法来构造一个对象并将其设置在路线主体中。假设我的Bean名为sample.Person,我需要调用它的一个构造函数Person(name)并将其设置到主体中。 大概是这样的:
<bean id="myBean" class="sample.Person"/>
<route id="myroute">
<from uri="timer:foo?repeatCount=1"/>
<setBody>
<simple>${myBean("name")}</simple>
</setBody>
. . . .
<to uri="mock:result"/>
</route>
${myBean(“名称”)}
. . . .
不幸的是,这不起作用。。。。。
有什么帮助吗?
谢谢首先,我将创建PersonFactory来实例化Person对象: 然后在驼峰路线内使用:
<bean id="personFactory" class="sample.PersonFactory" />
<camelContext xmlns="http://camel.apache.org/schema/spring">
.....
<route>
<from uri="timer:foo?repeatCount=1"/>
<setProperty propertyName="personName">
<constant>John Doe</constant>
</setProperty>
<setBody>
<spel>#{@personFactory.createPerson(properties['personName'])}</spel>
</setBody>
. . . .
<to uri="mock:result"/>
</route>
...
<camelContext>
.....
无名氏
#{@personFactory.createPerson(属性['personName'])}
. . . .
...
<bean id="personFactory" class="sample.PersonFactory" />
<camelContext xmlns="http://camel.apache.org/schema/spring">
.....
<route>
<from uri="timer:foo?repeatCount=1"/>
<setProperty propertyName="personName">
<constant>John Doe</constant>
</setProperty>
<setBody>
<spel>#{@personFactory.createPerson(properties['personName'])}</spel>
</setBody>
. . . .
<to uri="mock:result"/>
</route>
...
<camelContext>