Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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 如果我们重新启动Spring启动应用程序,正在运行的用户线程会发生什么情况?_Java_Spring Boot - Fatal编程技术网

Java 如果我们重新启动Spring启动应用程序,正在运行的用户线程会发生什么情况?

Java 如果我们重新启动Spring启动应用程序,正在运行的用户线程会发生什么情况?,java,spring-boot,Java,Spring Boot,我有一个问题: 我们将重新启动/重新部署/重新发布Spring启动应用程序。 如果同时有一个线程执行某些业务代码(例如,将数据保存到数据库),那么该线程会发生什么情况? 是否有可能在重启后数据库处于不一致状态,并且我们正在处理的请求都失败了,我们无法对此进行补救?如果重新启动应用程序,所有线程都将丢失,用户输入的数据也将丢失 如果您有Oracle、MySQL、PostgreSQL等关系数据库,那么连接将丢失,事务将回滚。由于ACID规则,数据不会处于不一致的状态。这取决于事务的管理方式,如果事务

我有一个问题: 我们将重新启动/重新部署/重新发布Spring启动应用程序。 如果同时有一个线程执行某些业务代码(例如,将数据保存到数据库),那么该线程会发生什么情况?
是否有可能在重启后数据库处于不一致状态,并且我们正在处理的请求都失败了,我们无法对此进行补救?

如果重新启动应用程序,所有线程都将丢失,用户输入的数据也将丢失


如果您有Oracle、MySQL、PostgreSQL等关系数据库,那么连接将丢失,事务将回滚。由于ACID规则,数据不会处于不一致的状态。

这取决于事务的管理方式,如果事务在业务代码末尾提交所有内容,则所有内容都将被丢弃,如果您提交数据库中的每一位数据,则可能会出现与您描述的情况类似的情况。