我正在寻找一种方法来管理跨多个数据源(包括但不限于数据库,某些网络控制工具以及其他基于SOAP的服务)的一系列更改。可撤消的更改集
如果某个更改由于某种原因失败(例如真实世界的应用程序显示“否”,或者数据库插入失败),我希望整个设置被撤消。这就像交易一样,不仅限于数据库。
我想出了一个模块,该模块堆叠“更改”对象,该对象又具有其init,commit和rollback方法。当该设备被破坏时,它会将未提交的更改回滚。这有点作品。
我仍然无法克服发明轮子的感觉。是否有一个标准的CPAN模块,或一个描述得很好的常见方法来执行这样的任务? (至少四人帮的“命令”模式和RAII原则浮现在脑海中......)
感谢你的回复,我希望我能再次提升它)。原来我已经实施了补偿交易。 – Dallaylaen 2011-02-02 09:47:10