Как выбрать несколько сообщений из асинхронной очереди и объединить их в один обмен, используя Apache Camel
Я запускаю загрузочное приложение на верблюжьей пружине и пытаюсь обработать несколько асинхронных сообщений в одно сообщение с помощью Apache Camel. В сообщении есть уникальный заголовок, с помощью которого мне нужно агрегировать, и значение extensionSize равно 3, и оно исправлено.
Я использую Apache Camel 2.21 .
Я попробовал ниже, но это не работает, как ожидалось. Биржи не сгруппированы вместе. Я заменю seda на rabitmq, как только он будет работать нормально с seda.
Примерный верблюжий маршрут:
<route id="SegaCompletionRoute" streamCache="true">
<from uri="seda:ackquote?concurrentConsumers=3" />
<aggregate completionSize="3" groupExchanges="true">
<correlationExpression>
<simple>${header.Long-Running-Action}</simple>
</correlationExpression>
<to uri="mock:result" />
</aggregate>
<saga propagation="MANDATORY">
</saga>
<log message="Grouped exchange
${body}" />
<log message="Ackquote
${header.Long-Running-Action}" />
<!-- <to uri="saga:compensate" /> -->
<to uri="saga:complete" />
</route>
Я что-то пропустил?