doInTransaction方法每次尝试调用3次

时间:2013-06-28 09:50:59

标签: spring transactions

我使用TransactionTemplate来管理数据库连接:

txTemplate.execute(new TransactionCallback<Void>() {
        @Override
        public Void doInTransaction(TransactionStatus txStatus) {
            try {
                ***********************
                List<Map<String, Object>> rows = dbConn.queryForList(sql, bindValues);
                *********************************

                    System.out.println(txStatus.toString());
                    System.out.println(txStatus.isNewTransaction());
                    System.out.println(txStatus.isRollbackOnly());
                }
            }catch (RuntimeException e) {
                txStatus.setRollbackOnly();
                System.out.println("*************"+e.getMessage());
                throw e;
            }

这是我的代码的结果:

create connection
org.springframework.transaction.support.DefaultTransactionStatus@37b60886
true
false
org.springframework.transaction.support.DefaultTransactionStatus@37b60886
true
false
org.springframework.transaction.support.DefaultTransactionStatus@37b60886
true
false

方法调用3次:为什么会这样?

1 个答案:

答案 0 :(得分:0)

我的println方法正在进行中 - 这就是我打印3次的原因。