В WSO2 ESB я могу использовать агрегированный медиатор для агрегирования сообщений, разделенных посредником по итерации (который не использует посредников Send или Call для отправки сообщения на внешнюю конечную точку) ?
Я пробовал это, но агрегированный медиатор не собирает раздельные сообщения.
Любая помощь очень ценится.WSO2 ESB, используя посредник Aggregate без отправки/вызова в медиаторе итерации
1
A
ответ
1
Я должен был сделать то же самое, и могу сказать, что это работает, если вы определить поддельный ответ:
итерации -> Последовательность
- применять любые необходимые преобразования в сообщение
- определить его в качестве ответного сообщения (установить свойство РЕАКЦИЮ истину)
- вызова последовательность, содержащие агрегированный посредник
агрегат
- completeCondition: множество мин и макс MessageCount -1
- OnComplete: вы будете получать все фрагменты, как только итерация будет обрабатывать все заинтересованные узлы
0
Если вы только пытаясь преобразовать сообщение итеративно, вы можете использовать ForEach mediator без необходимости посредников Iterate и Aggregate. Это поддерживается, так как ESB 4.9.0
+0
На самом деле, я вызываю условно конечную точку в моем итераторе. т. е. для некоторых итераций будет вызываться конечная точка, для других она не будет вызываться. Как вы знаете, невозможно назвать конечную точку в посреднике foreach. – Pawandeep
Благодарим за ответ. Я попробовал установить для свойства RESPONSE значение true. Но это не сработало. FYI мой агрегированный медиатор размещается сразу после итерационного посредника. – Pawandeep
Кроме того, нужно ли вызывать последовательность, содержащую агрегирующий медиатор, из медиатора итерации? Я использую id медиатора итерации в агрегированном медиаторе .. – Pawandeep
последовательность медиации внутри медиатора итерации выполняется в новом потоке. Насколько я знаю, вы не можете не использовать свой агрегат после итерации в родительском потоке, так что да, вы должны вызывать последовательность, содержащую ваш агрегат, из медиатора итерации. –