Object 事务回滚时的对象状态还原

Object 事务回滚时的对象状态还原,object,transactions,Object,Transactions,我想在事务回滚时恢复所有非事务对象。Ex::如果一个列表对象在事务开始前持有两个对象,并在事务结束后向其添加两个以上的对象。在事务回滚时,定义的列表对象应恢复其状态ie;应该只包含前两个对象。我使用的是Spring声明性事务管理 感谢您的建议,提前…软件事务性内存(STM)可能是解决您问题的好方法。它主要用于处理并发场景,但也适用于需要回滚功能的单线程应用程序 您可能无法使用Spring声明性事务管理,但STM模型很容易使用 阿克卡STM(http://doc.akka.io/stm-java)

我想在事务回滚时恢复所有非事务对象。Ex::如果一个列表对象在事务开始前持有两个对象,并在事务结束后向其添加两个以上的对象。在事务回滚时,定义的列表对象应恢复其状态ie;应该只包含前两个对象。我使用的是Spring声明性事务管理


感谢您的建议,提前…

软件事务性内存(STM)可能是解决您问题的好方法。它主要用于处理并发场景,但也适用于需要回滚功能的单线程应用程序

您可能无法使用Spring声明性事务管理,但STM模型很容易使用


阿克卡STM(http://doc.akka.io/stm-java)是一个不错的选择,尤其是当您需要JTA支持时。还有多元宇宙(http://multiverse.codehaus.org/overview.html)和其他Java实现。

线索在您的问题中——“非事务对象”。如果它们是非事务性的,根据定义,它们就不能回滚。不存在魔法。你必须创造你自己的。对象必须理解事务,并且必须在事务开始之前存储状态。它也适用于他们引用的任何东西。欢迎来到兔子洞。你能说一下怎么做吗::STM在事务+1之前的存储状态。查看Multiverse,它在JVM之上为您提供STM。阿克卡在兜帽下使用多重宇宙。JVSTM和Duece是其他存在的。