这是我的示例代码
ServiceA.java
@Service
@Transactional
public ServiceA {
@Autowired
private ServiceB serviceB;
@Transactional(noRollbackFor = { ResourceNotFoundException.class })
public void method1() {
try {
serviceB.method2();
} catch (Exception e) {
log.error(e.toString());
}
}
//Other methods
}
ServiceB.java
@Service
@Transactional
public class ServiceB {
public void method2() {
throw new ResourceNotFoundException();
}
}
由于某种原因,try catch 没有完全处理异常,服务器仍然因“UnexpectedRollbackException:事务已被标记为仅回滚而静默回滚”而崩溃。
我在谷歌上搜索了一下并尝试了“noRollbackFor”,但仍然没有运气。我该如何正确处理?谢谢