我有一个可以调用6个服务的Business类。根据每时每刻的待遇,都会调用不同的服务。
理论上,每次调用业务类时,它都会调用这6个服务。
我希望只有在这6个服务中没有错误的情况下,同时完成的更新才会被提交到数据库中。
如果有错误,则不必对数据库进行提交。
理论上我已计划将此应用于调用6个服务和6个被调用服务的Business类:
@Transactional(propagation = Propagation.REQUIRED)
这样可以吗?你会以不同的方式吗?
谢谢
答案 0 :(得分:0)
这听起来和你想做的完全一样。
假设出现问题时,6个服务中的每个服务都会抛出异常。
您可以通过将断点放入6个服务中来测试,然后检查调试器的堆栈跟踪以获取事务建议,并检查所有6个服务是否使用相同的事务对象(它们应该)。如果您随后在其中一个服务中触发了异常,则应将该事务标记为回滚。