Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de cache java EE.

Mise à jour de la BD non prise en compte par l'application.

Sujet résolu
    21 mai 2018 à 8:20:28

    Salut à tous!

    En effet je fait une appli java EE utilisant les EJBs. Mais lorsque je fais de modifications à la main sur la base de données. Elle ne sont prise en compte par l'application que lorsque je redéplois l'application. J'ignore vraiment pourquoi mais je soupçonne un problème de cache seulement je ne sais comment vidé celui ci! J'utilise glasfish, eclipslink et netbeans.

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
    plus tu apprends plus tu te rends compte de ce qu'il te reste encore beaucoup à apprendre...
      23 mai 2018 à 11:43:30

      personne n'a une idée ? lorsque je redémarre glashfich après avoir modifier la BD je retrouve les modification mais sans redémarrage aucune modification effectuer via le SGBD n'est prise en compte. Du coup je pense à un problème de cache.
      • Partager sur Facebook
      • Partager sur Twitter
      plus tu apprends plus tu te rends compte de ce qu'il te reste encore beaucoup à apprendre...
        23 mai 2018 à 13:56:48

        Eclispe link, a bien un cache, soit tu le désactive https://wiki.eclipse.org/EclipseLink/Examples/JPA/Caching

        Soit tu te fait une petite méthode pour vidé se cache à la demande faisant une servlet par exemple

        getEntityManager().clear();
        getEntityManager().getEntityManagerFactory().getCache().evictAll();



        • Partager sur Facebook
        • Partager sur Twitter
          23 mai 2018 à 15:50:15

          Bonjour,

          Le cache de niveau 1 est lié à la transaction.
          Aucun impact en BDD = pas de commit = pas de fin de transaction.

          Le cache de niveau 2 n'est pas activé par défaut.
          Si je ne dis pas de bêtise, cela n'impacte que la lecture : les modifications des différentes transactions sont envoyées à la BDD (principes de l'ACID)

          • Partager sur Facebook
          • Partager sur Twitter
          Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
            23 mai 2018 à 17:23:57

            Merci beaucoup, j'ai essayé de vidé le cache avec la ma méthode proposé par florent m mais j'avais les même résultats. j'ai du rafraichi mes données après récupération en BD avec la méthode refresh() de l'entityManager afin de synchroniser les données. Et ça marche.

            • Partager sur Facebook
            • Partager sur Twitter
            plus tu apprends plus tu te rends compte de ce qu'il te reste encore beaucoup à apprendre...

            Problème de cache java EE.

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown