如何手动关闭嵌入式Tomcat?

时间:2014-07-08 08:45:48

标签: spring-boot

我正在尝试为Spring Boot应用程序实现正常的关闭序列。为此,我使用Runtime注册了一个自定义关闭钩子,并禁用了Spring提供的一个(SpringApplication.setRegisterShutdownHook(false))。从这个自定义关闭钩子我首先想要暂停嵌入式Tomcat或连接器和一些其他调度程序,之后我手动调用applicationContext.close()来关闭Spring应用程序的其余部分。

访问嵌入式Tomcat实例的最佳方法是什么?我正在摆弄TomcatEmbeddedServletContainerFactory,但这似乎没有让我访问默认连接器或具有stop方法的EmbeddedServletContainer。

1 个答案:

答案 0 :(得分:1)

您可以从EmbeddedServletContainer访问EmbeddedWebApplicationContext(只需注入)并向下投射。