Apache Camel обновляет обмен недвижимости - PullRequest
0 голосов
/ 02 октября 2018

Мне нужна помощь с обновлением свойства exchange в Apache Camel.

Вариант использования: у меня есть маршрут, который получает некоторые идентификаторы из конечной точки API, после чего мне нужно получить информацию для каждого идентификатора из другой конечной точки.

Мне нужно где-то хранить ответы, чтобы позже создать некоторый массив JSON.

Может кто-нибудь дать мне какой-нибудь рабочий маршрут с аналогичным сценарием использования или просто указать мне правильное направление?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Надеюсь, этот простой маршрут поможет вам:

from("jms://somequeue")
            .split(simple("${body}"), (oldExchange, newExchange) -> {
                Response response = newExchange.getIn().getBody(Response.class);
                LinkedList<Response> responseCollection = oldExchange.getProperty("responseCollection", LinkedList.class);
                if (responseCollection == null) {
                    newExchange.setProperty("responseCollection", new LinkedList<Response>(Collections.singletonList(response)));
                } else {
                    responseCollection.add(response);
                    newExchange.setProperty("responseCollection", responseCollection);
                }
                return newExchange;
            })
            .process(exchange -> {
                String id = exchange.getIn().getBody(String.class);
                Response response = receiveResponse(id);
                exchange.getIn().setBody(response);
            })
            .end()
            .process(exchange -> {
                LinkedList<Response> collection = exchange.getProperty("responseCollection", LinkedList.class);
                //create your json
            });
0 голосов
/ 03 октября 2018

Вы можете использовать Простой .Вы можете использовать setProperty в Exchange API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...