以编程方式关闭Spring Boot应用程序
如何在不终止VM的情况下以编程方式关闭Spring Boot" title="Spring Boot">Spring Boot应用程序?
在其他作品中,相反的是
new SpringApplication(Main.class).run(args);
回答:
关闭a SpringApplication
基本上意味着关闭基础ApplicationContext
。该SpringApplication#run(String...)
方法为你提供了ApplicationContext
一个ConfigurableApplicationContext
。你可以close()自己动手做。
例如,
@SpringBootApplicationpublic class Example {
public static void main(String[] args) {
ConfigurableApplicationContext ctx = SpringApplication.run(Example.class, args);
// ...determine it's time to shut down...
ctx.close();
}
}
另外,你可以使用static SpringApplication.exit(ApplicationContext, ExitCodeGenerator...)
帮助程序方法来帮助你。例如,
@SpringBootApplicationpublic class Example {
public static void main(String[] args) {
ConfigurableApplicationContext ctx = SpringApplication.run(Example.class, args);
// ...determine it's time to stop...
int exitCode = SpringApplication.exit(ctx, new ExitCodeGenerator() {
@Override
public int getExitCode() {
// no errors
return 0;
}
});
// or shortened to
// int exitCode = SpringApplication.exit(ctx, () -> 0);
System.exit(exitCode);
}
}
以上是 以编程方式关闭Spring Boot应用程序 的全部内容, 来源链接: utcz.com/qa/428943.html