Я отлаживаю утечку памяти в своем приложении, которое использует spring-data-mongodb.1.9.1.RELEASE
.Найти Spring-data-mongo MappingContext memory leak
MongoMappingContext
использует примерно третья часть кучи. Он имеет ссылку на почти 30k PersistentEntity
объектов общей стоимостью более 140 МБ.
Эта утечка памяти вызвана тем, что не нужен ссылки на объекты данных MongoDB, поэтому они не могут быть собраны в мусор. Почему многие из этих объектов могут содержаться в MappingContext
, если я никогда не ссылаюсь на эти PersistentEntity
объекты в моем коде?
ли проведение на моей модели данных объектов причиной MongoDB Spring Data держаться на это модель данных объектов?
Звучит так, как будто это хорошо! Можете ли вы помочь мне понять версию? Я запускаю 'spring-data-commons.1.12.1.RELEASE', этот отчет об ошибке был для' 1.11.5'. Какую версию я должен снимать? –
Как указано в билете, ошибка фиксируется в Гослинге SR5 (1.11.5), Хоппер SR2 (1.12.2) и предстоящем Ingalls M1 (1.13.0.M1). Более подробную информацию о схеме версии вы можете найти в [пример в спецификации Spring Data Releasetrain BOM] (https://github.com/spring-projects/spring-data-examples/tree/master/bom), которую мы рекомендуем использовать для ручного объявления версий для отдельных модулей, поскольку спецификация будет гарантировать, что вы получите соответствующие версии. Если вы пользователь Spring Boot, просто установите свойство 'spring-data-releasetrain.version' для' Hopper-SR2'. Предстоящие загрузки 1.4 по умолчанию. –
Отлично, я не знал о 'spring-data-releasetrain.version'. Ты спасатель жизни Оливер. Я вернусь, если это затмит утечку. –