2015-12-10 34 views
0

springapplication.registerShutdownhook()()和Springapplication.exit(applicationcontext)之间有什么区别?他们中的任何一个是否也会优雅地关闭JVM?如何正常关闭Spring Boot应用程序?

+0

第一个注册一个将在退出时调用的回调,第二个退出该应用程序。 – Marged

+0

@Marged也会优雅地关闭JVM。 – nav3916872

+0

欢迎来到StackOverflow!今后,请改进您的问题或编辑更多信息,而不是使用评论。 – APC

回答

0

如果你有一个ConfigurableApplicationContext,你可以使用的方法registerShutdownHook()注册一个JVM运行时关闭挂钩。你可以在这里看到更多。 http://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html?is-external=true#addShutdownHook-java.lang.Thread-

您使用Springapplication.exit(applicationcontext)关闭应用程序上下文,完成Spring应用程序。

+0

如果我们关闭应用程序上下文和spring应用程序,它是否也会结束JVM。 – nav3916872

+0

不一定,因为您的主要方法可能仍在运行 – reos

相关问题