You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/reference/asciidoc/aggregator.adoc
+5-1Lines changed: 5 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -117,11 +117,15 @@ NOTE: In the interest of code simplicity and promoting best practices such as lo
117
117
Starting with version 5.1, after processing message group, an `AbstractCorrelatingMessageHandler` performs a `MessageBuilder.popSequenceDetails()` message headers modification for the proper splitter-aggregator scenario with several nested levels.
118
118
It is done only if the message group release result is not a message or collection of messages.
119
119
In that case a target `MessageGroupProcessor` is responsible for the `MessageBuilder.popSequenceDetails()` call while building those messages.
120
-
Strting with version 5.3 if sequenceDetails of the outputMessage matches with first message of group, `MessageBuilder.popSequenceDetails()` will be performed.
120
+
121
+
Additionally, Starting with version 5.3, if `MessageGroupProcessor` returns a Message, `MessageBuilder.popSequenceDetails()` will be performed on the `outputMessage` if the sequenceDetails matches with first message of group.
122
+
121
123
This functionality can be controlled by a new `popSequence` `boolean` property, so the `MessageBuilder.popSequenceDetails()` can be disabled in some scenarios when correlation details have not been populated by the standard splitter.
122
124
This property, essentially, undoes what has been done by the nearest upstream `applySequence = true` in the `AbstractMessageSplitter`.
123
125
See <<./splitter.adoc#splitter,Splitter>> for more information.
124
126
127
+
128
+
125
129
[[agg-message-collection]]
126
130
IMPORTANT: The `SimpleMessageGroup.getMessages()` method returns an `unmodifiableCollection`.
127
131
Therefore, if your aggregating POJO method has a `Collection<Message>` parameter, the argument passed in is exactly that `Collection` instance and, when you use a `SimpleMessageStore` for the aggregator, that original `Collection<Message>` is cleared after releasing the group.
Starting with version 5.3, if `MessageGroupProcessor` returns a Message, `MessageBuilder.popSequenceDetails()` will be performed on the `outputMessage` if the sequenceDetails matches with first message of group.
0 commit comments