Spring 集成聚合内存泄漏

Spring Integration Aggregation Memory Leak

我在 Spring 集成中使用了两个独立的结构,

当我在系统上执行负载测试时,实现聚合器的服务使用的内存(堆)以与我提供的数据相同的速率增加并保持不变。是不是我用错了什么?

我在完成后删除消息组,当我检查计数时,消息组存储 returns 0.

配置,

CorrelationStrategy -> HeaderAttributeCorrelationStrategy,

MessageGroupStore -> SimpleMessageStore,

ReleaseStrategy -> SimpleSequenceSizeReleaseStrategy,

expireGroupsUponCompletion -> 真,

我 运行 每 10 秒发送一次 MessageGroupStoreReaper,超时时间为 30 秒。

谢谢。

Spring 集成没有为我的问题造成内存泄漏, 因为里面的Collection<Message>在group释放后就已经清理了,所以这里的一个顾虑可能是groups占用的内存。这个可以用expireGroupsUponCompletion(true),所以放团后会清空

此外,您可以配置 groupTimeout 来保护您的工作以解决内存泄漏问题。