service 设计问题

今天写了一段让自己尴尬的代码,就是在一个方法中调用了两个 service 方法,而我为每个service 都定义了 事物回滚。

然后郁闷了,我执行请求调用该方法, 发现第二个service方法执行失败回滚,而第一个方法service正常执行。。

1.修改代码。

2. 再次执行该方法。

好像不能这么干,这样第一个service 岂不是 执行了两次,那数据就出问题了。。

于是我意识到一个问题,我的方法设计不合理。

在对外提供访问的 方法 中不应该调用两个service。因为两个service 都各自有各自的事物。如果后面的service 方法报错,那么前面的service 是没法回滚的 。

service 设置的初衷: 对外部访问 提供一个单一的访问,意思就是一个访问应该只操作一个service ,  以便于做统一的事物管理。。

今天换了大忌。。以后切记,不要在对外的方法中提供对多个service 的调用 

原文地址:https://www.cnblogs.com/zhangchenglzhao/p/10083672.html