gpt4 book ai didi

java - Java中回滚 "soft"事务的方法

转载 作者:行者123 更新时间:2023-12-01 08:12:57 27 4
gpt4 key购买 nike

当我说“软”事务时,我的意思是不涉及某些数据库中的持久性,而只是逻辑对象修改。故事是这样的。

普通的 JAVA 应用程序,没有框架,可能有很多线程。

  1. 对象Ob在其单独的线程中启动doSomething()。在 doSomething() 中,此对象成员和(可能的)其他对象都会被修改。
  2. Ob 的线程被某个事件处理程序中断。有人希望 Ob 使用 doSomethingElse() 而不是 doSomething()!
  3. Ob 完成 doSomething() 并检查他的线程是否被中断。如果是,我希望他:
    a) 完全撤消(回滚)doSomething(),
    b) doSomethingElse()

无需跟踪 doSomething() 中所做的任何特定更改,也是因为我可以为每个对象使用许多不同的 doSomething 方法。我没有使用任何特定的框架,并且我希望保持它的“轻量级”。

有没有办法实现这样的行为?
预先非常感谢!

最佳答案

您可以查看Memento Pattern :

The memento pattern is a software design pattern that provides the ability to restore an object to its previous state (undo via rollback).

关于java - Java中回滚 "soft"事务的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15901631/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com