天天看点

Abp框架 工作单元使用注意 问题

Abp框架工作单元 可以在发生异常发生的时候能够回滚,目前项目需要使用锁,由此思考需要注意的事项.

Abp框架 工作单元实现非常的灵活,默认在Application层自动开启工作单元,即自动开启事务,所有在内部调用方法自动获取外层的事务,中间发生异常,在最外层方法结束后自动回滚.那么现在的问题是,如果外层使用了try catch,事务会不会回滚,答案是 不会回滚了

try{
    do some trans..
}
catch{
}
finally{

           

但是不catch 还是可以 回滚的

try{
}
finally{
}
           

那如果try catch同时需要回滚怎么办,要么手动开一个事务,要么主动在catch之后 再抛出异常.

我这边主要使用的是 try finally ,主要是需要释放锁,在try 里面做锁操作,同时在finally里面执行 释放锁的操作,防止没有释放锁 产生死锁.

继续阅读