java事务嵌套
方法A:
classA
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void testA(Student student) {
......
try {
classB.testB(student);
} catch (CustomException e) {
log.warn("失败,原因:" + e.getMessage());
} catch (ParamException e) {
log.warn("失败,原因:" + e.getMessage());
} catch (Exception e) {
log.error("失败,原因:" + e.getMessage(), e);
}
}
classB
@Override
@Transactional(rollbackFor=Exception.class,propagation=Propagation.REQUIRES_NEW)
public void testB(Student student) {
try{
......
} catch (CustomException e) {
throw e;
} catch (ParamException e) {
throw e;
} catch (Exception e) {
log.error("出错:" + e.getMessage(), e);
}
}
问题:
org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only
该问题偶发,什么情况下会抛出此异常?求解
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般是事务嵌套的问题,就你现在的代码,一般不会出现这个问题的