现象:代码以及日志均正常,但是实际数据并未存储到数据库中;
原因在service类文件上设置了事务rollBack=runtimeException,但是代码中出现了异常,并且被try{}catch(){}了,但是catch中没有throw,可能基于业务考虑用了logger.info输出到日志中了,如下面代码
try {
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
但是catch后事务失效,没有抛异常可能不触发事务的commit并执行回滚,而是直接数据库啥也没存,其他业务执行了,本模块儿的操作丢失了,最终导致部分业务执行了,数据错乱
解决?没有,只是延长了定时任务触发时间