import javax.transaction.*;
import javax.annotation.Resource;
import javax.ejb.Stateless;
@Stateless
public class TransactionalService {
@Resource
private UserTransaction transaction;
public void transferMoney(int sourceAccountId, int targetAccountId, double amount) {
try {
transaction.begin();
// ...
transaction.commit();
} catch (Exception e) {
try {
transaction.rollback();
} catch (SystemException e1) {
}
}
}
}