Hi,
I am integrating JBoss Cache 3.0.2 into our app which hitherto used Spring's org.springframework.orm.hibernate3.HibernateTransactionManager (which delegates to Our hitherto stack is as follows:
Spring 2.5.6
C3p0 Cnx pool
Hibernate 3.3.1
Tomcat 6
We are running in a cluster, and will only (initially at least) need async invalidation. Given the above, do I really need a full-blown JTA impl (like Atomikos or JOTM) or can I get away with creating a delegate impl of JTA that would:
- implement javax.transaction.TransactionManager, Transaction, UserTransaction
- have MyTransaction delegate to org.hibernate.Transaction wherever possible
- do nothing on Transaction.enlistResource/delistResource
- do implement registerSynchronization
- implement own org.hibernate.transaction.factory_class and manager_lookup_class
- my javax.transaction.Transaction impl would delegate back to Hibernate's JDBCTransaction
I am wondering whether this is possible because it seems that JBossCache 3 only uses Synchronization and never Transaction.enlistResource.
thanks
-nikita