File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Object Relational Mapping and the fly likes Synchronizing two hibernate sessions Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » Object Relational Mapping
Reply Bookmark "Synchronizing two hibernate sessions" Watch "Synchronizing two hibernate sessions" New topic
Author

Synchronizing two hibernate sessions

Mishra Anshu
Ranch Hand

Joined: Sep 16, 2003
Posts: 224
[code]
I have two applications , say App1 and App1Admin. Both runs on a the JBoss server as separate wars. Both of them use Spring with Hibernate.

The scenario is if App1Admin changes something, The App1 should reload that
changes immediately in the same hibernate session, it is already running in.

So, what are the possible options to achieve this ? This is what, I could come up with, Please add/clarify :-

1. Use secondary cache (I have not explored much on that, It would be great if you can suggest any good paper/tutorial, which achieves this using Spring on top of Hibernate )

2. Write MBeans in App1, so whenever App1Admin goes to change something, it also invokes the MBean exposed by App1, so now App1 is aware that something has been changed, so it should reload that in the session it is running already..(I have not explored the JMX with Spring, so will have to do that..if you can add some references, suggestions, that would be great..)

3. Similar to the second option. But this time, whenever App1Admin goes to perform the updates, there is some listener program between Hibernate and the Database (or say a Trigger), which calls the App1 to reload the things..
(Please add your ideas..and resources..)

[code]


"Ignorance is bliss"
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 16622

Well secondary cache is probably the only solution for you, but it won't help detached objects getting updated, and you have to somehow make it so that the two apps can point to the exact same cache region. I am actually not sure if you can do that at all. Haven't really had to.

It is like if you have a legacy system that can also change the data underneath you. In this scenario there is no way to let the Hibernate application know that they underlying database has changed, in either first or second level cache. In this scenario you can always set a timeout for the data in the second level cache to refresh itself after the time has elapsed.

Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
 
 
subject: Synchronizing two hibernate sessions
 
Threads others viewed
Session Mgmt Across Multiple WebLogic Systems
Registry.Registry.rebind not allowed
securitycontext across multiple containers
Objects creation in Spring
Help needed! regarding Global Security settings and Virtual hosts
MyEclipse, The Clear Choice