Верблюд - как передать свойство обмена в функцию () / конечную точку?

У меня есть этот код:

        from("direct:incoming")
            .setHeader(Exchange.HTTP_METHOD, constant("GET"))
            .setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
            .setHeader(HttpHeaders.AUTHORIZATION, simple("${property.token}"))
            .to(String.format(COLOR_DECODE_PATH, properties.getBaseUrl(), "green"))
            .process(exchange -> {
                log.info("Colour decoded successfully.");
                String colour = exchange.getIn().getBody(String.class);
                exchange.setProperty("colour", colour);
            })
            .to("HERE I NEED TO SET LIKE THIS: www.someurl.com/${colourProperty} from above");

Я пробовал с ${property.color}, но это не работает.

Кто-нибудь знает, как я могу этого добиться?


person Aleksandar Grujic    schedule 10.11.2020    source источник


Ответы (1)


Я нашел решение. Все, что мне нужно, это использовать toD() вместо to().

D означает динамический.

И это работает сейчас:

toD("www.someurl.com/${property.colour}")
person Aleksandar Grujic    schedule 10.11.2020