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

如何在Tomcat上以编程方式关闭Spring应用程序

孟茂学
2023-03-14

如何以编程方式关闭或停止Spring应用程序?

我们目前使用的是ConfigurableApplicationContext#close(),是的,它确实关闭了应用程序,但没有关闭或停止应用程序。

@Autowired
private ConfigurableApplicationContext configurableApplicationContext;

@Scheduled(cron="0 0/5 * * * ?")
private void validateLicenseExpired()
{
    try
    {
        LicenseUtils.isLicensingPeriodValid();
    } catch (LicenseInvalidException lie) {
        logger.error("\t The licensing is expired", lie);
        configurableApplicationContext.close();
    }
}

感谢任何帮助。

共有1个答案

盖雪峰
2023-03-14

如果是启动应用程序,则可以使用以下链接来停止应用程序。

以编程方式关闭Spring Boot应用程序

否则,您可以通过编程方式调用shutdown.sh来停止服务器,如下所示。

String command = "<path-to-tomcat>shutdown.sh"; // for windows use bat
Process child = Runtime.getRuntime().exec(command);

从自身启动/停止web应用程序?

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

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

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

  • 我的主类扩展了JPanel,我在这个面板上创建了一个表和一个按钮。现在我想在用户按下它时关闭这个面板。在互联网上关闭面板的例子是关于JFrame.JPanel有解决方案吗?

  • 问题内容: 他们在Spring Boot Document中说:“每个SpringApplication都会向JVM注册一个关闭钩子,以确保ApplicationContext在退出时正常关闭。” 当我单击命令时,可以正常关闭应用程序。如果我在生产机器上运行该应用程序,则必须使用命令 。但是我无法关闭shell终端,否则它将关闭进程。 如果我运行像这样的命令,我将无法正常关闭它。 在生产环境中启动

  • 我正在使用netty 4.0。24.4决赛。 我需要以编程方式启动/停止网络服务器。 在启动服务器时,线程在 请提供一些如何正确操作的提示。下面是由主类调用的EchoServer。谢谢 更新:我用以下方式更改了EchoServer类。其想法是在新线程中启动服务器,并保留到EventLoopGroup的链接。这条路对吗?