Quote:
Is Jboss Cache the right 2nd level cache?
I would say, it is the right choose if you:
- want continue to use Hibernate 3.3.1GA
- want to use transactional access strategy.
- are already using Hiberante with JTA (Java Transaction API) approach
That means you already define a TransactionManager, your Datasource is XA-ready (supports distributed transactions),
as Jboss Cache will be registered as second XA-resource.
N.B.: If your Datasource is not XA-ready, then a emergency solution could be Atomikos-TransactionManager using their last resource gambit)
Quote:
Is mvcc-entity a better configuration?
Yes, in my opinion.
It behaviour is better when transactions come to fail (on rollbacks).
Quote:
What about Infinispan? Is this a better 2nd level cache implementation? is this available pre Hibernate 3.5?
Infinispan is the official sucessor of Jboss-Cache and meanwhile surely a better cache implementation.
I think it's not available pre Hibernate 3.5.
Quote:
EH Cache?
EH Cache is the ideal solution in my opinion, if you aren't already using the JTA approach as mentioned above, or if you don't like the implications due the more complex JTA architecture (XA-resources, 2-phase commits, transaction-recovery , etc.).
EH Cache is also useable with read-write access strategy, thus it does'nt require integration with JTA as Jboss-Cache and Infinispan do.