После агрегирования обменов с использованием GroupedExchangeAggregationStrategy
мне нужно разделить их на части (для выдачи индивидуальных показателей времени обработки) на исходные обмены.
Я пробовал разделить следующим образом, но полученный разделенный обмен обертывает исходный обмен и помещает его в тело Message
.
Можно ли разделить GroupedExchangeAggregationStrategy
агрегированный обмен на исходные обмены без обмена оболочкой? Мне нужно использовать исходные свойства обмена, и я хотел бы сделать это с помощью выражения SpEL.
.aggregate(constant(true), myGroupedExchangeAggregationStrategy)
.completionInterval(1000)
.completeAllOnStop()
.process { /* do stuff */ }
.split(exchangeProperty(Exchange.GROUPED_EXCHANGE))
.to(/* micrometer timer metric using SpEL expression */)
// ^- the resulting split exchange is wrapped in another exchange
Если это в настоящее время не поддерживается, я пытаюсь найти лучший способ реализовать это поведение самостоятельно, не создавая собственный Splitter
процессор для этой единственной функции. Я надеялся каким-то образом переопределить SplitterIterable
, выполняющий обертывание, но это оказалось невозможным.