Ссылки на метод в верблюжьих маршрутах - PullRequest
0 голосов
/ 02 ноября 2018

Есть ли способ использовать ссылки на методы в маршрутах Camel? :

from(X).bean(instance::method)

Спасибо

1 Ответ

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

Есть два способа сделать это. Как уже упоминалось в CookieSoup, вы можете использовать привязку bean s вот так bean(Instance.class, "method(String)").

Или вы можете использовать верблюд Процессоры и Преобразования. Есть пример на github того, как его использовать (вам понадобится Camel 2.18.0 или выше).

class SomeClass {
    public void method(String body) {
    }
    public String methodWithReturn(String body) {
        return body;
    } 
}


.processor
    .body(String.class, instance::method)
.translate
    .body(String.class, instance::methodWithReturn)

Обратите внимание, процессоры являются потребителями, тогда как transforms являются функциями, которые возвращают преобразованное тело сообщения.

...