import javax.transaction.*;
public class TransactionExample {
public static void main(String[] args) {
try {
TransactionManager tm = new MyTransactionManager();
tm.begin();
// ...
tm.commit();
} catch (Exception e) {
e.printStackTrace();
tm.rollback();
}
}
}
class MyTransactionManager implements TransactionManager {
// ...
}
<bean id="transactionManager" class="com.atomikos.icatch.jta.UserTransactionManager"
init-method="init" destroy-method="close">
<property name="forceShutdown" value="true"/>
<property name="startupTransactionService" value="true"/>
</bean>
<bean id="transactionManagerProxy" class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager" ref="transactionManager"/>
<property name="userTransaction" ref="atomikosUserTransaction"/>
<property name="allowCustomIsolationLevels" value="true"/>
</bean>
<bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
<property name="transactionTimeout" value="300"/>
</bean>