当前位置: 首页 > 面试题库 >

如何以正确的方式关闭Spring Boot应用程序?

程振濂
2023-03-14
问题内容

他们在Spring Boot Document中说:“每个SpringApplication都会向JVM注册一个关闭钩子,以确保ApplicationContext在退出时正常关闭。”

当我单击ctrl+cshell命令时,可以正常关闭应用程序。如果我在生产机器上运行该应用程序,则必须使用命令 java -jar ProApplicaton.jar。但是我无法关闭shell终端,否则它将关闭进程。

如果我运行像这样的命令nohup java -jar ProApplicaton.jar &,我将无法ctrl+c正常关闭它。

在生产环境中启动和停止Spring Boot Application的正确方法是什么?


问题答案:

如果使用执行器模块,则可以通过JMXHTTP如果启用了端点(将其添加endpoints.shutdown.enabled=trueapplication.properties文件中)来关闭应用程序。

/shutdown -允许正常关闭应用程序(默认情况下未启用)。

根据暴露端点的方式,敏感参数可以用作安全提示。例如,敏感端点在通过访问时将需要用户名/密码HTTP(如果未启用Web安全,则将其禁用)。



 类似资料:
  • 如果运行类似这样的命令,就不能使用优雅地关闭它。 在生产环境中启动和停止Spring Boot应用程序的正确方法是什么?

  • 问题内容: 我有一个Java应用程序,当我使用它时,它会正确关闭,Java应用程序会在关闭之前保存所有数据。现在,我尝试使用来从C#控制台应用程序中关闭该Java应用程序,但是当我使用它时应用程序不保存任何数据,我也尝试过使用但什么也没有发生,并且使用了该过程只是在没有任何挽救的情况下将其杀死了。 。 我如何从C#控制台应用程序引发Java应用程序的关机钩子? 问题答案: 关闭钩子不能由另一个应用

  • 如何以编程方式关闭或停止Spring应用程序? 我们目前使用的是ConfigurableApplicationContext#close(),是的,它确实关闭了应用程序,但没有关闭或停止应用程序。 感谢任何帮助。

  • 问题内容: 如何在 不终止VM的情况下以* 编程方式关闭 Spring Boot 应用程序? * 在其他作品中, 问题答案: 关闭a 基本上意味着关闭基础。该方法为您提供了一个。您可以自己动手做。 例如, 或者,您可以使用 帮助程序方法来帮助您。例如,

  • 如何在不终止VM的情况下以编程方式关闭一个spring boot应用程序? 在其他作品中,…的反义词是什么

  • 问题内容: JFrame与用户按下X关闭按钮或按在Windows上)相同,获得关闭的正确方法是什么? 我通过以下方式设置了我想要的默认关闭操作: 它完全符合我想要的上述控件的功能。这个问题不是关于这个的。 我真正想做的是使GUI的行为与按下X关闭按钮的行为相同。 假设我要扩展,然后通过来添加我的适配器的实例作为侦听器。我想看到的调用相同的序列通过,以及作为将与出现X关闭按钮。可以这么说,撕开窗户与