IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

EclipseLink et memory leak (fuite mémoire)


Sujet :

JPA Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 67
    Points : 48
    Points
    48
    Par défaut EclipseLink et memory leak (fuite mémoire)
    bonjour,

    J'ose espérer que mon pb n'est pas du à eclipselink mais j'en ai bien peur.
    Pour mettre en evidence ce pb , j'ai fait le petit programme (junit) suivant:
    Faire une boucle dans laquelle je crée un entitymanager , puis je load un objet Event , puis je ferme l'entityManager: La mémoire augmente sans arret a chaque boucle.
    J'utilise Jprofiler pour voir le détail, et , en effet , la fermeture de l'entityManager ne libere pas les objets.
    Le compteur i correspond bien aux nombres d'objets en memoire qu'affiche jprofiler.

    Pourquoi ces objects ne sont pas libérés ?
    Merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    int i = 0;
    String sql = "select distinct event from Event event where event.id=:idEvent";
    while (true) {
    	Thread.currentThread().sleep(100);
    	try {
    		em = SqlMainService.getInstance().getEntityManager();
    		List<Event> events = em.createQuery(sql).setParameter("idEvent", 1141).getResultList();//1182
    		i += events.size();
    		System.gc();
    		System.out.println("load " + i + " ...");
    	} finally {
    		em.close();
    		System.out.println("Finally");
    	}
    }

  2. #2
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Bonjour,

    j'ai été confronté au problème il y a un mois ou deux.
    J'étais alors tombé sur cette explication.

    La solution est donc de passer en 1.6, s'il s'agit du même problème.

  3. #3
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 67
    Points : 48
    Points
    48
    Par défaut
    en effet, c'est un bug de la jvm
    je viens d'essayer avec la version 1.5 rockit de weblogic, et , a priori, tout rentre dans l'ordre.

    Merci pour l'info

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Memory leak ou fuite de mémoire
    Par bruce-willis dans le forum C++
    Réponses: 22
    Dernier message: 05/09/2008, 22h41
  2. [AJAX] Que faire contre les fuites mémoires (memory leaks)
    Par cassy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/08/2007, 16h50
  3. [SWT]SWT et fuite mémoire(ou pas)
    Par menuge dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 22/06/2004, 21h40
  4. Réponses: 7
    Dernier message: 26/02/2004, 09h32
  5. [debug] fuites mémoires
    Par tmonjalo dans le forum C
    Réponses: 3
    Dernier message: 28/07/2003, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo