当我说“软”事务时,我的意思是不涉及某些数据库中的持久性,而只是逻辑对象修改。这是故事。
普通的 JAVA 应用程序,没有框架,可能有很多线程。
- Object Ob,在他的单独线程中,开始doSomething()。在 doSomething() 中,此对象成员和(可能)其他对象被修改。
- Ob 的线程被某个事件处理程序中断。有人想让 Ob 做doSomethingElse()而不是 doSomething()!
- Ob 完成 doSomething() 并检查他的线程是否被中断。如果是,我希望他:
a)完全撤消(回滚)doSomething(),
b)doSomethingElse()
无需跟踪 doSomething() 中所做的任何特定更改,也因为我可以为每个对象设置许多不同的 doSomething 方法。我没有使用特定的框架,我想让它保持“轻量级”,比如说。
有没有办法实现这种行为?
提前非常感谢!