我有几个方法调用需要执行,需要“事务性”,但我不确定除了 try/catch/finally 之外如何实现它。
背景
- 应用程序是基于控制台的。
- 应用程序将有多个线程
- 查询数据库以获取连接信息,连接到 Web 服务以登录,生成会话 ID 并更新数据库。
- 操作调用注销,需要清理数据库,清除会话ID,注销webservice
我想弄清楚的
我想确保在请求注销时,我想确保整个过程要么全部成功,要么根本不成功。例如,我不希望清理数据库、清理会话 ID 和注销操作失败(因此登录仍然有效)。
理想情况下,该解决方案将在发生故障时“回滚”,从而确保保持先前的状态。
是否有一种巧妙的方法来实现这一点,或者我是否坚持使用一系列嵌套的 try/catch/finally 块来做到这一点?