关于spring 事务处理--循环执行
声明edit方法事务配置如下:<bizc:tranactionAttribute method="opepj" propagation="REQUIRED" isolation="DEFAULT" timeout="-1" readOnly="false" />
//controller 中调用 opepj方法
testBizc.opepj();
//opepj方法定义
public void opepj(){
for (int i=0;i<6;i++){
try{
edit(i); //调用修改方法
}catch(Exception e){
// throw new RuntimeException("失败!");
}
}
}
/// public edit(int i){
/// 根据i 分别修改两个表的数据 表a、表b
}
此操作一共循环5次,我想这5次中有一次失败,继续往下执行,并且失败的那两个表a 表b操作要回滚。怎么实现?
1、以上代码中如果异常了 是向下执行,但是异常那次的表a 表b数据没有回滚。
2、如果 // throw new RuntimeException("失败!"); 注释放开,则5次都回滚了。
3、还有假如我吧 配置文件中的 method="opepj" 改为 edit方法,则不生效,没开启事务。