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