Установка свойства в Apache Camel в XML - PullRequest
0 голосов
/ 25 сентября 2019

Я новичок в Apache Camel.Нужна помощь по нижеуказанному.

У меня 2 маршрута.Из маршрута А я отправляю только 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, но я не вижу здесь никакой опции.Нужна помощь в этом?

1 Ответ

0 голосов
/ 26 сентября 2019

Просто добавьте 2-й параметр в ваш метод bean

public boolean saveMessageData(Map<String, Object> MessageBelongerMap,
                               Map<String, Object> MessageMap) {

и затем привяжите к 2-му параметру из Camel

<camel:to uri="bean:ServiceBean?method=saveMessageData(${property.MessageBelongerMap}, ${property.MessageMap})" />
...