我是新来的骆驼。在下面需要帮助。
我有2条路线。从路由A,我仅使用方法调用将1个属性发送到另一条路由。像
<camel:route id="processMessageRoute">
<camel:from uri="direct:processMessageRoute" />
<camel:setProperty propertyName="MessageMap">
<camel:method bean="ServiceBean" method="initMessageMap" />
</camel:setProperty>
<camel:setProperty propertyName="MessageBelongerMap">
<camel:method bean="ServiceBean" method="initMessageBelongerMap" />
</camel:setProperty>
<camel:to uri="bean:ServiceBean?method=saveMessageData(${property.MessageBelongerMap})" />
在ServiceBean类内部,我有
public boolean saveMessageData(Map<String, Object> MessageBelongerMap) {
producerTemplate.requestBody("direct:processMessage", MessageBelongerMap);
return true;
现在,我的问题是我需要同时传递MessageMap和MessageBelongerMap这两个属性,但是在这里看不到任何选项。需要帮助吗?
只需在您的bean方法中添加第二个参数
public boolean saveMessageData(Map<String, Object> MessageBelongerMap,
Map<String, Object> MessageMap) {
然后绑定到骆驼的第二个参数
<camel:to uri="bean:ServiceBean?method=saveMessageData(${property.MessageBelongerMap}, ${property.MessageMap})" />