@Transactional(rollbackFor=RuntimeException.class)
public AjaxResult checakIn(@RequestBody XgcyPurchaseOrder xgcyPurchaseOrder)
{
String errorMessage = null;
try{
lock.lock();
throw new RuntimeException("入库数量为0,无法入库");
}
catch (Exception e) {
e.printStackTrace();
errorMessage = e.getMessage();
//事务回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
finally {
// 必须在finally中释放
lock.unlock();
if(errorMessage == null) {
return success();
}
else {
return warn(errorMessage);
}
}
}
Java try catch finaly中回滚事务
最新推荐文章于 2024-07-27 13:31:57 发布