2014-02-05 4 views
1

Я довольно новичок в верблюде, поэтому, возможно, я об этом поступил неправильно, но я направляю сообщения с одной конечной точки на другую и преобразую их в пути. Однако следующий этап - добавить аутентификацию в конвейер. У меня есть служба, которая отслеживает пользователей, прошедших проверку подлинности. Мой план состоит в том, чтобы на первом этапе маршрута добавить фильтр, который проверяет, проверен ли текущий пользователь. Если я не хочу, я хочу преобразовать сообщение в запрос аутентификации и отправить его на мою конечную точку. Тем не менее, все хорошо, после проверки подлинности (в случае успеха) я хочу отправить исходное сообщение по трубопроводу. Это что-то, что можно сделать?Получение предыдущего сообщения в пути Apache Camel

упрощенная версия моего маршрута будет:

from("seda:in"). 
    filter(method(Authentication.class, "isNotAuthenticated")). 
    bean(AuthenticationTransformer.class) 
    to("cxfbean:out") 
    .end() 
    .bean(RequestTransformer.class) 
    .to("cxfbean:out") 

То же сообщение будет отправлен на оба трансформаторе фасоли.

+1

Вы можете поместить тело в собственность для «безопасного хранения» до более позднего времени - см. SetProperty/setBody. – vikingsteve

ответ

1

Прежде чем преобразовать его, необходимо сохранить сообщение в Exchange собственности setProperty("originalMessage", body()). Впоследствии вы можете получить доступ к этому имуществу, используя getProperty("originalMessage")

Смежные вопросы