听听spring boot嵌入式tomcat失败

时间:2014-07-28 13:58:33

标签: spring-boot

如果spring-boot中的嵌入式tomcat实例失败(例如,端口已在使用中)。 Spring boot应用程序没有意识到。 TomcatEmbeddedServletContainer使用“StandardSerice”添加连接器,它只捕获异常并记录它。 StandardService是一个tomcat类,因此无法在spring-boot的范围内进行更改。

是否有人有解决方案可能会监听tomcat生命周期事件以在spring应用程序中捕获此故障并退出?

这是使用弹簧启动1.1.4。通过从eclipse启动应用程序的Main类或运行使用spring-boot maven插件构建的可执行jar,可以看到相同的行为。

1 个答案:

答案 0 :(得分:0)

您没有说明您使用的Spring Boot版本,或者您运行应用程序的方式,这使得很难提供明确的答案。

在运行java -jar的1.1.4.RELEASE中,gradle bootRunmvn spring-boot:run应该失败,并在发生端口冲突时退出。如果您直接在IDE中运行应用程序,那么known problem表示应用程序不会退出。它已在最新的1.1.5快照中修复。