#java #spring #apache-camel
#java #весна #apache-camel
Вопрос:
У меня много процессоров, связанных цепочкой один за другим
from(....)
.bean(Processor1.class)
.bean(Processor2.class)
.bean(Processor3.class)
to(...)
Я хочу каким-то образом перехватывать поток перед каждым «компонентом».
В то же время я не хочу каким-либо образом редактировать RouteConfig
from(....)
.process()
.bean(Processor1.class)
.process()
.bean(Processor2.class)
.process()
.bean(Processor3.class)
to(...)
это уродливо и не масштабируемо.
Я уже проверил intercept и interceptFrom, но они не помогают. Они перехватывают только изменения маршрутов, но не процессоры в пределах одного маршрута. У кого-нибудь есть идеи, как это сделать?
Комментарии:
1. Но в документации по перехвату говорится, что обмен перехватывается перед каждым этапом обработки .
2. проблема в том, что на перехватчики влияет механизм повторных попыток, поэтому в основном повторяется логика interceptor step. Мне нужно повторить только логику шага, и к тому времени часть перехвата будет завершена.
3.
intercept
является ли механизм верблюда для выполнения чего-либо между каждым шагом маршрута. Если вы хотите, чтобы он ничего не делал при повторной доставке, вам нужно будет проверить этот случай в маршруте перехватчика (например, на основе Exchange. REDELIVERY_COUNTER)