Spring 集成拆分器聚合器内存泄漏
Spring integration splitter aggregator memory leak
我创建了以下项目:
https://github.com/adispennette/splitter-aggregator-leak-example
测试我在另一个应用程序中看到的内存泄漏。
我正在使用 eclipse 运行 junit 并使用 jconsole 监视内存。
测试开始后,我连接到 JUnit 运行ner 并执行手动 GC。
从那时起,我让它 运行 并且内存继续增加。
这里的理论是聚合器没有正确发布。
我试图用我能想到的每一种方式来发布 collections,但它一直在增长。
有什么我遗漏的吗?
为了丢弃迟到的消息,聚合器必须保留已发布组的元数据。设置 expire-groups-upon-completion="true"
以在组发布时删除此元数据。但是,迟到的消息现在将组成一个新组。
如果您想要默认行为但又担心元数据所需的内存较少,您可以按照 in the documentation 所述配置 MessageGroupStoreReaper
。空组可以按照与部分组不同的时间表过期。
我创建了以下项目:
https://github.com/adispennette/splitter-aggregator-leak-example
测试我在另一个应用程序中看到的内存泄漏。 我正在使用 eclipse 运行 junit 并使用 jconsole 监视内存。 测试开始后,我连接到 JUnit 运行ner 并执行手动 GC。 从那时起,我让它 运行 并且内存继续增加。 这里的理论是聚合器没有正确发布。
我试图用我能想到的每一种方式来发布 collections,但它一直在增长。
有什么我遗漏的吗?
为了丢弃迟到的消息,聚合器必须保留已发布组的元数据。设置 expire-groups-upon-completion="true"
以在组发布时删除此元数据。但是,迟到的消息现在将组成一个新组。
如果您想要默认行为但又担心元数据所需的内存较少,您可以按照 in the documentation 所述配置 MessageGroupStoreReaper
。空组可以按照与部分组不同的时间表过期。