Don't know if anyone has responded to you on this, but what you need is a 
distributed cache implementation.  Unfortunately OJB does not have a 
distributed cache.  We are using OJB for our product and we had to build our 
own distributed cache using JCS and JMS. It is a fair amount of work to do this 
plus you will need to maintain that code.

If this is not an existing system and you have not committed to using OJB I 
would strongly suggest using Hibernate.  Hibernate has a pluggable cache and a 
few open source projects have distributed caches for Hibernate such as EhCache 
and JBoss cache.  We are starting to use Hibernate and EhCache on a new project 
and it is much more robust than OJB.  

If your project uses OJB and you must continue using it, you might what to 
investigate using EhCache as a custom level two cache and use it's distributed 
cache feature, but you will have to write you own implementation to 'hook it 
up' to the OJB PB events.

Hope that helps.

Regards
Ron Bogdanoff
Serus Corp

-----Original Message-----
From: Bernd Längerich [mailto:b.laenger...@acceptis.com] 
Sent: Wednesday, March 18, 2009 8:25 AM
To: ojb-user@db.apache.org
Subject: OJB caching and concurrent access

Hello,

I use the PB-API. Is there any support for concurrent access to the same data 
base entries from multiple servers/applications in OJB? In order to provide a 
scalable system and high availability, I am faced with the demands of load 
balancing and multiple servers running the same application and service. At the 
moment, multiple servers could obtain the same object instance from the 
database, caching them, perform changes and possibly updating the data base 
without notification of their neighbors. Completely turning off caching is no 
real option at the moment.

At the moment, my approach would be to lock the rows in the database during 
transaction processing, thus disabling concurrent access to these entries. 
After transaction is done, the instance would be held in cache. If subsequent 
transactions are scheduled to the same server, everything is fine, but there is 
a possibility that another server is scheduled one transaction, making the 
cached instance obsolete. The best solution would be, that the object instance 
remains in cache, but are updated from the database when requested.

Best regards

Bernd


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscr...@db.apache.org
For additional commands, e-mail: ojb-user-h...@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscr...@db.apache.org
For additional commands, e-mail: ojb-user-h...@db.apache.org

Reply via email to