Announcement Announcement Module
No announcement yet.
Is a MessageGroupStroreReaper always needed? Are aggregated groups purged? Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Is a MessageGroupStroreReaper always needed? Are aggregated groups purged?

    We have a long running application that uses Aggregator. The system continuously adds items through a gateway. All incoming items have a sequence size of 5, a matching correlation id for the group, and 5 objects are always aggregated. There are no objects that are not aggregated.

    What happens to the group in a message store after the group has been sent for aggregation? Does it remain in the message store? Or is it purged automatically? What actions should are require to manage memory correctly?


  • #2
    If you set expireGroupsOnCompletion (expire-groups-on-completion) to 'true', the group is completely removed after it is released. If it is 'false' (default), the group is retained so we can detect (and discard) late-arriving messages. Prior to 2.2.0, these 'empty' groups were never removed. From 2.2.0, they are removed by the reaper.

    If expireGroupsOnCompletion is 'true', late arriving messages (with the same correlation as a previously released group) form a new group (because there is no record of the released group).
    Last edited by Gary Russell; Dec 19th, 2012, 07:58 AM.


    • #3
      Thanks very much for this clear answer. After reading the manual a few times I still wasn't clear on this. Notes like this in the manual would really help a newbie like me.

      Many thanks,


      • #4
        We recently added some documentation to clarify this behavior; see and the paragraph beginning "When the group is released for aggregation..." and the 'Important' note thereafter.

        If you still feel the documentation is not clear, please feel free to open a Documentation JIRA issue