У меня есть повторяющийся шаблон в моих маршрутах - определенному процессору нужно устанавливать одни и те же 3 заголовка каждый раз, когда я его вызываю, поэтому У меня есть следующий код в моих маршрутах около 10+ раз:
.whatever()
.setHeader("foo1", "bar1")
.setHeader("foo2", "bar2")
.setHeader("foo3", "bar3")
.processRef("processorBazThatNeedsHeaders")
.whatever()
Заголовки заполняются каждый раз по-разному, поэтому абстрагирование этого в субмаршрут на самом деле мне ничего не дает.
Что мне нравится, когда я могу иметь такую возможность. нужно сделать подкласс RouteDefinition, чтобы иметь другой метод в моем DSL, который позволил бы мне сделать это:
.whatever()
.bazProcessor("bar1", "bar2", "bar3")
.whatever()
и в 'bazProcessor' установить заголовки и вызвать процессор.
Я пытался сделать это, но похоже что это возможно только с некоторыми серьезными операциями, которые, вероятно, не надежны в будущем, и кажется, что другим повезло .
Мне нужно, чтобы они были установлены как заголовки, а не передавались как pa Параметры непосредственно в процессор, потому что значения также используются после процессора для маршрутизации.
Есть ли какое-то скрытое средство для достижения чего-то вроде этого?