Comment maintenir Hibernate cache la cohérence de l'exécution de deux applications Java?

Notre conception a une jvm qui est un jboss/webapp (lecture/écriture) qui est utilisé pour maintenir les données via hibernate (en utilisant jpa) de la db. Le modèle a 10-15 classes persistantes de 3 à 5 niveaux de profondeur dans les relations.

Nous avons ensuite séparé de la jvm qui est le serveur à l'aide de ces données. Comme il est en cours d'exécution en continu, nous avons juste un long db session (lecture seule).

Il n'existe actuellement aucun intra-jvm cache impliqués - nous avons donc manuellement le signal d'une jvm de l'autre.

Maintenant, quand la webapp modifications de certaines données, il signale le serveur pour recharger les données modifiées. Ce que nous avons constaté, c'est que nous avons besoin de dire hibernate pour purger les données, puis de les recharger. Juste faire un fetch/fusionner avec le db ne pas faire le travail - principalement en ce qui concerne les objets de plusieurs couches en bas de la hiérarchie.

Des idées sur la façon de savoir si il y a quelque chose de fondamentalement mauvais dans cette conception, ou si quelqu'un fait cela, et a eu plus de chance avec le travail avec mise en veille prolongée sur la recharge.

Grâce,
Chris

OriginalL'auteur Chris Kimpton | 2008-09-07