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.