Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧休息服务跨国家行为_Java_Spring_Spring Transactions_Jta - Fatal编程技术网

Java 弹簧休息服务跨国家行为

Java 弹簧休息服务跨国家行为,java,spring,spring-transactions,jta,Java,Spring,Spring Transactions,Jta,我们已经开发了spring REST应用程序。。我们正在为我们的业务使用第三方服务…像CRUD服务…但我们的跟踪目的无论我们做什么交易,我们都会将这些交易记录在数据库中 所以现在的场景是,如果我们通过第三方api从REST服务更新一些信息(创建、更新、删除),在我们将该事务记录到数据库中之后,如果数据库关闭,我们需要回滚该事务。现在可能无法回滚通过第三方服务进行的事务 我们的目标是,如果我们的数据库出现故障,我们将不会对任何REST服务使用第三方api。 我不需要代码。我只需要一些想法或任何特定

我们已经开发了spring REST应用程序。。我们正在为我们的业务使用第三方服务…像CRUD服务…但我们的跟踪目的无论我们做什么交易,我们都会将这些交易记录在数据库中

所以现在的场景是,如果我们通过第三方api从REST服务更新一些信息(创建、更新、删除),在我们将该事务记录到数据库中之后,如果数据库关闭,我们需要回滚该事务。现在可能无法回滚通过第三方服务进行的事务

我们的目标是,如果我们的数据库出现故障,我们将不会对任何REST服务使用第三方api。
我不需要代码。我只需要一些想法或任何特定于设计的想法。

如果目的只是为了在进行第三方呼叫之前确保数据库处于“启动”状态,您可以在进行第三方呼叫之前进行连接检查。例如,您可以简单地执行一个轻sql,如
select1fromtoual
;如果成功的话,继续打第三方电话;然后将它们记录到数据库中


注意:确保您为进行连接检查而打开的事务在进入网络之前已关闭,同样,登录数据库也在您完成网络呼叫之后完成。在第三方呼叫期间,数据库会话不应保持活动状态。

在呼叫任何服务之前,您不能先检查数据库是否已关闭吗?