当前位置: 首页 > 知识库问答 >
问题:

如何在spring boot启动过程中关闭应用程序

叶嘉颖
2023-03-14
ansi:
   true

并且我有以下@configuration类:

@Configuration
class AppConfig {
   @Value('${ansi}')
   String ansi;


   @Bean
   getAnsi() {
        if(ansi.equals("true")) {
             Ansi ansiObj = new Ansi();
             ansiObj.ansi = ansi;
             return ansiObj;
        }
   }
}

class Ansi {
   String ansi;
}

application.yml中的ansitrue时,它继续,否则,应用程序应该关闭,我们可以在bean创建期间关闭应用程序吗?这是一个好的做法吗?有什么好办法处理这件事吗?

共有1个答案

子车芷阳
2023-03-14

我们有很多关闭spring-boot应用程序的选项:

Shutdown rest endpoint-向应用程序添加以下属性。属性并激发以下请求curl-x POST localhost:port/acture/Shutdown

management.endpoints.web.exposure.include=*  
management.endpoint.shutdown.enabled=true  
endpoints.shutdown.enabled=true

也可以调用合适的方法关闭应用程序:

  • 通过对ConfigurableApplicationContext对象调用方法close()(它将关闭应用程序上下文)
  • 通过将退出代码传递给方法SpringApplication.exit(ctx,()->0);

更多详情请查看本文。

 类似资料:
  • 启动 1. 轻触主画面上您想启动的应用程序图标。 显示LiveArea™。 2. 轻触[开始]。 中断/继续 按下PS键即可返回LiveArea™。若要继续,请轻触[继续]。 关闭 1. 按下PS键。 返回LiveArea™。 2. 请由画面右上角将LiveArea™撕下。

  • 我正在运行一个spring启动应用程序,除了尝试关闭它之外,一切都很好。我在下面的代码中出错 该错误在最后一行生成,spring boot将在2秒等待完成之前关闭level2List,如下所示 是否有任何方法可以命令关闭过程,或确保在关闭之前我没有使用level2List? 沙布尔酒店

  • 这是Android Studio设置的问题还是其他我不知道的问题?当我调试应用程序,并在一些调试断点(断点不是固定的每次关闭它每次都不同)它关闭应用程序,从来没有显示在调试选择过程对话框。要在调试过程中再次获得它,我需要再次运行该应用程序。 为什么这一切都会发生,是否需要任何Android Studio设置来阻止这一切发生? 我的Android Studio版本是2.2。1.任何帮助都将不胜感激。

  • 我真的很喜欢Baralga记录我在不同项目上的时间。我可以使用键盘启动和停止,也可以选择项目。然后我可以很容易地编辑任何有错误的地方,并且可以很容易地在月底将我的时间复制到电子表格中。 我曾在Windows和Linux上愉快地使用过它,但现在在Macos 11(“Big-Sur”)上安装和运行它时遇到了麻烦。 我从github下载了最新的包,Baralga-1.9.7-Installer.jar

  • 我的Spring Boot应用程序不是Web服务器,但它是使用自定义协议的服务器(在本例中使用Camel)。 但是Spring Boot在启动后立即(优雅地)停止。我如何防止这种情况? 我希望应用程序停止,如果Ctrl C或编程。

  • 问题:在xcode中成功创建WebDriver代理,当我尝试运行我的代码时,ios应用程序启动并自动关闭。请帮我解决这个问题。环境Xcode版本=8.3.3 OSX 10.12.6 Appium版本1.6.4模拟器:iPhone SE 10.3成功地在xcode中创建了Web驱动程序代理,当我运行Appium服务器时,ipa文件(也尝试了. app文件)被启动并自动关闭。下面是我的代码