sim*_*sjo 9 transactions atomic
假设您有连接3个不同外部系统的应用程序.您需要更新所有内容3.如果发生故障,您需要回滚操作.这不是一件难以实现的事情,但是说操作3失败了,当回滚时,操作1的回滚失败了!现在第一个外部系统处于无效状态......
我认为一个可能的解决方案是关闭应用程序并强制手动修复外部系统,但是又一次......它可能已经使用过这些信息(也许这就是它失败的原因),或者我们可能没有足够的访问.或者甚至可能不是回滚动作的好方法!
是否有一些处理此类案件的好方法?
编辑:一些申请细节..
这是一个多用户Web应用程序.大部分工作都是通过预定的工作完成的(通过Quartz.Net),因此大多数操作都是在自己的线程中运行.某些用户操作应该触发更新多个系统的作业.外部系统有些不稳定.
我正在考虑更改应用程序以使用命令和工作单元模式