我们已经开发了Spring REST应用程序..我们正在为我们的业务消费第三方服务......就像CRUD服务......但我们的跟踪目的无论我们做什么交易,我们都会在数据库中记录这些转换。
所以现在的情况是,如果我们通过第三方API从REST服务更新一些信息(创建,更新,删除),并且在我们在数据库中记录该事务之后,如果数据库关闭,我们需要回滚交易。现在可能无法回滚通过第三方服务进行的交易。
我们的目标是,如果我们的数据库关闭,我们不会使用第三个pary api进行任何REST服务。 我不需要代码。我只需要一些想法或任何设计特定的想法。
答案 0 :(得分:0)
如果目的只是为了确保在进行第三方呼叫之前数据库处于“up”状态,则可以在进行第三方呼叫之前进行连接检查。例如。你可以简单地执行像select 1 from dual
这样的轻量级sql;如果成功,请继续拨打第三方电话;然后将它们记录在数据库中。
注意:确保在进入网络之前关闭您打开以执行连接检查的事务,同样在完成网络调用后完成登录数据库。在第三方呼叫期间,数据库会话不应保持活动状态。