package org.radargun.service;
import org.jboss.cache.transaction.DummyTransactionManager;
import org.radargun.traits.Transactional;
/**
* @author Radim Vansa <rvansa@redhat.com>
*/
public class JBossCacheTransactional implements Transactional {
@Override
public Configuration getConfiguration(String resource) {
return Configuration.TRANSACTIONS_ENABLED;
}
@Override
public Transaction getTransaction() {
return new Tx();
}
private class Tx implements Transaction {
final DummyTransactionManager tm;
private Tx() {
this.tm = DummyTransactionManager.getInstance();
}
@Override
public <T> T wrap(T resource) {
return resource;
}
@Override
public void begin() {
try {
tm.begin();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void commit() {
try {
tm.commit();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void rollback() {
try {
tm.rollback();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}