Java 查找spring数据mongo MappingContext内存泄漏

Java 查找spring数据mongo MappingContext内存泄漏,java,spring,mongodb,memory-leaks,spring-data-mongodb,Java,Spring,Mongodb,Memory Leaks,Spring Data Mongodb,我正在调试使用spring data mongodb.1.9.1.RELEASE的应用程序中的内存泄漏 MongoMappingContext占用了堆的大约三分之一。它引用了将近30kpersistenentity对象,总计超过140MB 这种内存泄漏是由于保留对MongoDB数据对象的不必要引用而导致的,这样它们就不能被垃圾收集。如果我从未在代码中引用这些persistenentity对象,为什么会有这么多对象保存在MappingContext中 保持住我的数据模型对象会导致Spring da

我正在调试使用
spring data mongodb.1.9.1.RELEASE
的应用程序中的内存泄漏

MongoMappingContext
占用了堆的大约三分之一。它引用了将近30k
persistenentity
对象,总计超过140MB

这种内存泄漏是由于保留对MongoDB数据对象的不必要引用而导致的,这样它们就不能被垃圾收集。如果我从未在代码中引用这些
persistenentity
对象,为什么会有这么多对象保存在
MappingContext


保持住我的数据模型对象会导致Spring data MongoDB保持住它的数据模型对象吗?

看起来你遇到了,这在最新的Hopper SR2中已经修复。

听起来不错!你能帮我理解版本控制吗?我正在运行
springdatacommons.1.12.1.RELEASE
,该错误报告是针对
1.11.5
。我应该针对哪个版本进行拍摄?正如票证中所示,该错误在小鹅SR5(1.11.5)、Hopper SR2(1.12.2)和即将推出的Ingalls M1(1.13.0.M1)中已修复。您可以在中找到有关版本方案的更多信息,我们建议您在手动声明单个模块的版本时使用版本方案,因为BOM将确保您获得匹配的版本。如果您是Spring Boot用户,只需将
Spring data releasetrain.version
属性设置为
Hopper-SR2
。即将发布的Boot 1.4将默认为该版本。太好了,我不知道spring data releasetrain.version。你是个救命恩人奥利弗。如果堵住了漏洞,我会回去检查的。