This is the original message that I posted to the Hibernate JBoss forum.
We have multiple applications that uses a metadata cache. Currently each application needs to refresh itself from the database using Hibernate. To minimize database hits, we would like to implement a clustered, replicated cache. But without the overhead of a J2EE app server. A couple of the applications are medium size RMI servers that would only become bloated with JBoss. One application already runs Tomcat as a lightweight web container.
I've checked out SwarmCache and OSCache. Neither supports replication. Cache invalidation really is only marginally better than the refreshing action we have now. Changed objects will be immediately updated but new objects will still have to be periodically refreshed.
As I understand it, if JBossCache supported r/w and/or nonrestrict r/w, it wouldn't be necessary to have the app server overhead.
As of now, I am leaning towards using OSCache with the patched CacheProvider code that handles clustering. I'll see if perhaps I can modify the code to handle newly created objects. Does anyone have anything to say on this approach?
In addition, is it possible to have a server with read-only cache (sans transaction manager) and another server with transactional cache in the same cluster? We could get away with installing JBoss with our tomcat app.