Как лучше всего внести небольшие изменения в некоторые данные в маршруте Camel?
Я загружаю документ BSON из Mongo. Мне нужно использовать отметку времени из него в HTTP-вызове, но мне нужно преобразовать ее из миллисекунд в секунды.
Я попытался установить заголовок.
.setHeader("test").jsonpath("$.startTime")
Что позволяет добавлять отметку времени к URL-адресу с помощью простого выражения.
.toD("https://test.com/api/markets?resolution=60&start_time=${headers.test}")
Но я не могу найти способ изменить значение заголовка.
Я также пытался использовать процесс
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
DocumentContext message = JsonPath.parse(exchange.getMessage().getBody());
String time = message.read("$.startTime").toString();
time = "111100000";
// do something with the payload and/or exchange here
//exchange.getIn().setBody("Changed body");
}
})
Но здесь обмен не возвращается. Я основывался на том, как использовал расширенный EIP со стратегией агрегации, которая возвращала Exchange с внесенными изменениями. Этот процесс, похоже, не работает таким образом.