以编程方式关闭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()自己动手做。

例如,

@SpringBootApplication

public 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...)帮助程序方法来帮助你。例如,

@SpringBootApplication

public 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

回到顶部