Ich habe, was ich denke, ist ein Speicher-Leck mit Feder-Daten-Mongodb. Im Grunde verwenden wir MongoDB als eine Art Cache für ein RDBMS, also laden wir beim Start der Anwendung einen großen Teil der Datenbank. Also im Grunde sind wir Kartierungs-/Entnormierung verschiedenen JPA Entities zu Mongo Dokumente unterschiedliche „Mapping“ Methoden wie diese:Möglicher Speicherverlust mit Feder-Daten-Mongodb
@Override
public void insertFromContacts(Set<Contact> contacts, Long seed){
MutableLong sfId = new MutableLong(seed);
List<SocialInfo> socialInfos = contacts.stream().map(c -> {
SocialInfo socialInfo = new SocialInfo();
socialInfo.setId(sfId.longValue());
socialInfo.setSearchOnly(true);
socialInfo.setStatus(null);
socialInfo.setContactId(c.getId());
sfId.increment();
return socialInfo;
}).collect(Collectors.toList());
mongoTemplate.insertAll(socialInfos);
}
jedoch der Speicher nicht wachsen aufhört, so habe ich einen Dump Heap und ich merke, dass der Frühling hält eine große Menge von BasicDBObject Referenzen im Speicher und ich weiß nicht warum?
Wenn der kürzeste Weg Punkt der Ansammlung Überprüfung es zeigt, dass offenbar die earlyApplicationEvents Eigenschaft der Klasse
Ich verwende ist: - Java 8 - Frühling Daten MongoDB 1.10 .8.RELEASE - Federdaten commons 1.13.8.RELEASE - Feder 4.3.6.RELEASE
Irgendwelche Ideen als warum?
Das klingt ähnlich wie https://stackoverflow.com/questions/38109957/find-spring-data-mongo-mappingcontext-memory-leak Aber mit den Versionen, die Sie geben, sollte es behoben werden. –