В настоящее время я использую Apache Camel
Я не уверен, как определить, когда агрегация завершена в следующем случае.
- Вы начинаете с некоторого сообщения, состоящего из многих частей.
- Затем сообщение разбивается на части
- Некоторые из этих сообщений затем отфильтровываются.
- Остальные сообщения трансформируются
- Затем мы хотим сгруппировать сообщения обратно в одно сообщение.
Мы знаем, сколько сообщений приходит, если бы мы не фильтровали, агрегатор мог бы просто ждать этого количества сообщений.
Вот некоторые из моих идей, мне не очень нравится ни одна из них
- Фильтр отправляет некоторое сообщение агрегатору, в котором сообщается, сколько сообщений ожидать
- Фильтр не является фильтром, он отправляет все сообщения, которые он отфильтровал бы, прямо в агрегатор, а агрегатор действует как фильтр.