There are two separate structures that I use splitter and aggregator in Spring integration,
When I perform a load test on the system, the memory (heap) used by the service that implements Aggregator increases at the same rate to the data I feed and remains constant. Is there something I am using wrong?
I delete the message groups when they are completed and when I check the count, the message group store returns 0.
The configuration,
CorrelationStrategy -> HeaderAttributeCorrelationStrategy,
MessageGroupStore -> SimpleMessageStore,
ReleaseStrategy -> SimpleSequenceSizeReleaseStrategy,
expireGroupsUponCompletion -> true,
I'm running a MessageGroupStoreReaper every 10 seconds and the timeout is 30 seconds.
Thanks.
Spring Integration was not creating a memory leak for my problem, Because the
Collection<Message>in it is already cleaned after the group is released, one of the concerns here may be the memory occupied by the groups. You can useexpireGroupsUponCompletion(true)for this, so it will be cleared after the group is released.In addition, you can configure
groupTimeoutto secure your work for Memory leak problem.