|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : septembre 2010 Messages : 33 ![]() |
Bonjour
Je rencontre un problème de synchronisation entre deux applis accédant à la même base de données du fait du cache de nhbernate. J'ai une appli A qui lit et affiche régulièrement les enregistrements d'une table . J'ai une seconde appli B qui modifie les enregistrements de cette même table. Je ne vois pas les données évoluer sur A alors dans la base les données sont bien modifiées. Les deux applications tournent sur des machines différentes, la base de données (oracle 10.2 en l’occurrence) est hébergée sur un serveur. Comment puis je forcer nhibernate à relire systématiquement les données dans la base ou éventuellement réduire le timeout du cache à quelques secondes. Si cela existe je souhaiterais régler sans ajout de code (ajout d'une option dans le fichier de configuration). merci de votre aide |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 238 ![]() |
C'est un peu trop vague pour te répondre.
Dans tous les cas, nhibernate fonctionne comme ADO.NET : Tu te connectes à la base Tu manipules la connection Tu fermes la connection Dans le laps de temps d'une session, il utilise un cache dit de niveau 1 qui est un cache de session. Le second de niveau 2 permet de mettre en cache des objets ou des requêtes disonibles pour tous les utilisateurs de la factory (toutes les sessions). Si tu as une application A qui lit les données à un instant t; une application B qui écrit les données à un instant t+1; A reste sur les données à t si tu es dans la même session. Si tu recharge les données dans A tu verras biens les modifications. C'est à toi de faire le nécessaire pour que B et A dispose d'une notification permettant à A de savoir que B met à jour et qu'il faut rafraichir les données. Mais là, ce n'est pas une problèmatique de nhibernate. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com