Я новичок в Apache Camel, это то, что я пытаюсь выяснить.В приведенном ниже примере кода я пытаюсь использовать свойство - «значение» в параметре запроса в следующем запросе опроса.
String valueFromTheResponse= ""
m.addRouteBuilder(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("timer://foo?period=2)
.setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
.setHeader("Accept", constant("application/json"))
.to("https4://" + <myrequestURL>?param=<valueFromTheResponse>)
.marshal().json(JsonLibrary.Jackson)
.setProperty("value", jsonpath("$.value"))
.process(new Processor() {
@Override
public void process(final Exchange exchange) throws Exception {
valueFromTheResponse = (String) exchange.getProperty("value");
}
})
}
});
m.run();
Каков наилучший способ добиться этого?или присвоить переменной уровня класса значение свойства?
ОБНОВЛЕНИЕ: РЕШЕНИЕ получило его, добавив следующее:
.process(new Processor() {
@Override
public void process(final Exchange exchange) throws Exception {
exchange.getIn().setHeader("CamelHttpQuery", buildParamQuery());
}
})