Spring Integration Aggregation Memory Leak

394 Views Asked by At

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.

1

There are 1 best solutions below

0
Sefa Mert Kaya On BEST ANSWER

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 use expireGroupsUponCompletion(true) for this, so it will be cleared after the group is released.

In addition, you can configure groupTimeout to secure your work for Memory leak problem.