Apache camel Camel组件:从Bean动态设置属性
Apache camel Camel组件:从Bean动态设置属性,apache-camel,jbossfuse,Apache Camel,Jbossfuse,我在Jboss Fuse蓝图中定义了一条驼峰路线。我需要在运行时从Bean中设置一个变量。请参见此示例: <camelContext xmlns="http://camel.apache.org/schema/spring"> <route id="wsClient"> <from uri="timer:foo?repeatCount=1" /> <setBody>
我在Jboss Fuse蓝图中定义了一条驼峰路线。我需要在运行时从Bean中设置一个变量。请参见此示例:
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route id="wsClient">
<from uri="timer:foo?repeatCount=1" />
<setBody>
<simple>Message</simple>
</setBody>
<transform>
<method bean="myBean" method="transform" />
</transform>
<to uri="cxf:bean:MyWebService?defaultOperationName={{operation}}" />
<to uri="mock:result" />
</route>
</camelContext>
消息
在本例中,我想在bean“myBean”中设置名为“operation”的属性。有可能吗?
谢谢 是的,这是可能的。
首先,从bean中设置一个头,然后使用
我不熟悉Spring DSL,但在Java DSL中,它看起来是这样的:
.recipientList(simple("cxf:bean:MyWebService?defaultOperationName=${header.operation}"))
是的,这是可能的。
首先,从bean中设置一个头,然后使用
我不熟悉Spring DSL,但在Java DSL中,它看起来是这样的:
.recipientList(simple("cxf:bean:MyWebService?defaultOperationName=${header.operation}"))
是的,你可以在豆子里做。无需传递任何特定参数。Camel可以自动将exchange、body…等绑定为方法参数。参考: 使用下面的代码可以设置标题或属性
exchange.getIn().setHeader("HeaderName", "Value");
exchange.setProperty("Key", "Value");
是的,你可以在豆子里做。无需传递任何特定参数。Camel可以自动将exchange、body…等绑定为方法参数。参考: 使用下面的代码可以设置标题或属性
exchange.getIn().setHeader("HeaderName", "Value");
exchange.setProperty("Key", "Value");
请参阅此常见问题解答:请参阅此常见问题解答:感谢您的回复,这似乎很有希望。唯一的限制是我的一些bean没有实现交换模式,我的意思是它们只是javapojo,作为参数接收Web服务参数。换句话说,他们在输入中接收Java对象,而不是交换。是否可以将Exchange对象也注入纯JavaBean中?非常感谢您的回复,您的回复似乎很有希望。唯一的限制是我的一些bean没有实现交换模式,我的意思是它们只是javapojo,作为参数接收Web服务参数。换句话说,他们在输入中接收Java对象,而不是交换。是否可以将Exchange对象也注入纯JavaBean中?谢谢