2010-12-08 44 views
0

J'expérimente avec RequestFactory et réussi à obtenir des données à partir de celui-ci et cela a fonctionné comme il se doit et j'obtiens toutes mes données. Mais quand je rafraichis la page, elle n'obtient pas de nouvelles données du serveurRequestFactory - aucune donnée cohérente de la base de données

On dirait qu'il cache les données et utilise l'ancien. Mon JPA EclipseLink ne me dit pas de nouvelles requêtes de base de données, j'ai aussi changé les données dans la base de données et j'ai seulement les anciennes données.

J'utilise cette requête:

requestFactory.projectRequest().findAllProjects().fire(new Receiver<List<ProjectProxy>>() {  

      @Override 
      public void onSuccess(List<ProjectProxy> response) { 
       view.setProjects(response);    
      } 

     }); 

sur le côté serveur:

public static List<Project> findAllProjects() { 
     EntityManager em = entityManager(); 
     try { 
      List<Project> list = em.createQuery("select p from Project p").getResultList(); 
      // force to get all 
      list.size(); 
      return list; 
     } finally { 
      em.close(); 
     } 
     } 

Où suis-je tort? onModuleLoad est appelé à l'actualisation.

+0

Où voyez-vous les données sont mises en cache, par le navigateur ou dans votre serveur? –

Répondre

0

Il s'agit probablement du cache JPA/eclipselink. Si vous modifiez des données en dehors de votre application, par exemple en modifiant directement la base de données, elles ne sont pas récupérées directement. Voir aussi cette question et la réponse: Disable caching in JPA (eclipselink)

+0

Je n'ai pas vérifié cela. Mais ça sonne très bien ;-) – ludwigm