简体   繁体   English

嵌入式 Tomcat 10 不在 Spring 引导应用程序中的端口上侦听

[英]Embedded Tomcat 10 does not listen on port in Spring Boot application

I have a Spring Boot application which uses Tomcat.我有一个使用 Tomcat 的 Spring 引导应用程序。 With version 9.0.36 it runs fine, and with 10.0.0-M7 fails.使用 9.0.36 版本运行良好,使用 10.0.0-M7 失败。 Part of pom.xml related to Tomcat is:与 Tomcat 相关的 pom.xml 的一部分是:

    </properties>
            <tomcat.version>10.0.0-M7</tomcat.version>
    </properties>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

application.yml's section responsible for Tomcat: application.yml 中负责 Tomcat 的部分:

server:
  port: 28088
  servlet:
    contextPath: /rest
  main:
    web-application-type: servlet
  tomcat:
    max-threads: 64

With Tomcat 9.0.36, everything is fine.使用 Tomcat 9.0.36,一切都很好。 From the log:从日志:

2020-07-20 16:56:10.596  INFO 8268 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data MongoDB repositories in DEFAULT mode.
2020-07-20 16:56:10.637  INFO 8268 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 35ms. Found 0 MongoDB repository interfaces.
2020-07-20 16:56:11.493  INFO 8268 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 28088 (http)
2020-07-20 16:56:11.505  INFO 8268 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-07-20 16:56:11.506  INFO 8268 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.36]
2020-07-20 16:56:11.689  INFO 8268 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/rest]   : Initializing Spring embedded WebApplicationContext
2020-07-20 16:56:11.689  INFO 8268 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2278 ms
2020-07-20 16:56:12.229  INFO 8268 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[...:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'}

But as soon as I replace 9.0.36 with 10.0.0-M7, it does not start Tomcat:但是一旦我用 10.0.0-M7 替换 9.0.36,它就不会启动 Tomcat:

2020-07-20 16:59:24.184  INFO 20036 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data MongoDB repositories in DEFAULT mode.
2020-07-20 16:59:24.242  INFO 20036 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 51ms. Found 0 MongoDB repository interfaces.
2020-07-20 16:59:25.298  INFO 20036 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[...:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'}

Anybody successfully used embedded Tomcat 10 with Spring Boot?有人成功使用嵌入式 Tomcat 10 和 Spring 引导吗? I have upgraded to the latest Spring Boot 2.3.1-RELEASE to no avail.我已升级到最新的 Spring Boot 2.3.1-RELEASE 无济于事。

OK, got an answer from Spring Boot team.好的,得到了 Spring 引导团队的答复。 In short, Spring Boot is not yet compatible with Tomcat 10.简而言之,Spring Boot 尚不兼容 Tomcat 10。

https://github.com/spring-projects/spring-boot/issues/22414 https://github.com/spring-projects/spring-boot/issues/22414

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM