As of now, only READ_COMMITED isolation level is provided. This is being handled by both {@link net.sf.ehcache.transaction.xa.XATransactionContext XATransactionContext} (being the local transactional data) and {@link net.sf.ehcache.transaction.xa.XATransactionStore XATransactionStore} (wrapping the underlying {@link net.sf.ehcache.store.Store Store} instance and keeping the "in-transaction operations" on the cache in sync with the {@link net.sf.ehcache.transaction.xa.XATransactionContext XATransactionContext} XA implementation.
It also contains the JTA XAResource implementation for Ehcache: {@link net.sf.ehcache.transaction.xa.EhcacheXAResourceImpl}.