我遇到一个问题,我的springboot项目将关闭并自动重新启动。 在出现此问题之前,程序将完成计划作业,该计划作业将从Redis读取数据,然后与本地备份文件进行比较,如果有任何新数据出现,则程序将写入本地备份文件。 以下是关机日志 console log
答案 0 :(得分:4)
如果在pom.xml文件中使用spring-boot-devtools依赖项,则对现有项目进行任何新更改时,它将自动重新启动该项目。与常规情况相比,在进行较小更改时,它会自动重新启动项目,并且应用程序启动时间也非常短,这会有所帮助。如果您不希望出现这种情况,则可以从pom.xml文件中删除以下依赖项,从而不会自动重启应用程序。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
答案 1 :(得分:0)
您可以在我的应用程序中添加Shutdown挂钩。
在这两种情况下都会运行Java shutdown钩子。
代码:
Runtime.getRuntime().addShutdownHook(new Thread("Shutdownhook") {
public void run() {
//code here
//compare redis cache
//syn data and save local file.
try {
mainThread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
instance.logger.error(e.getMessage(), e);
}
}
});