Bonjour,
je me trouve confronté à une situation de OutOfMemoryError. le fait est que j'essai de charger une table qui contient 128000 enregistrement provenant d'une base de données postgres. via cette requête:
le problème est qu'au bout de 15min (temps que trouve extrèmement long, j'ai une erreur OutOfMemoryError) .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 List result=null ; result = session.createCriteria("MaClasse").list()
le heap de ma JVM est paramétré a une taille max de 515M, et lorsque j'évalue, chaque objet des 128000 renvoyé par postgres, j'ai une taille d'environ 48 octect ce qui théoriquement ferrait 6 144 000 octets donc un peu plus de 6M.
arrêtez-moi si je me trompe.
la session hibernate constitue le cache d'objet. avec un ejb statefull, c'est le serveur qui crée et détruit la session à chaque requête (donc le cache doit être vidé par le GC)
pourquoi ais-je cette erreur? alors que les données que je charge ont une très faible taille?
Partager