Spring-boot: Support embedding Tomcat 9

Created on 23 Jan 2018  路  13Comments  路  Source: spring-projects/spring-boot

enhancement

Most helpful comment

It鈥檚 not 8.x, but 8.0.x. Boot 1.5 and 2.0 use 8.5.x so are unaffected by that EOL announcement.

All 13 comments

While it鈥檚 described as stable, the release notes state that all of the public API is still subject to change. As far as I can tell, official Tomcat 9 support will have to wait for Boot 2.1.

the release notes state that all of the public API is still subject to change.

Sharing in case others wonder (I did) where this is stated: http://tomcat.apache.org/tomcat-9.0-doc/RELEASE-NOTES.txt

==============
API Stability:
==============

The public interfaces for the following classes are fixed and will not be
changed at all during the remaining lifetime of the 9.x series:
- None

The public interfaces for the following classes may be added to in order to
resolve bugs and/or add new features. No existing interface method will be
removed or changed although it may be deprecated.
- None

Note: As Tomcat 9 matures, the above list will be added to. The list is not
considered complete at this time.

The remaining classes are considered part of the Tomcat internals and may change
without notice between point releases.

@wilkinsona based on the above link on API stability, would you still like to keep this for 2.1?

Why would it change? Those are the release notes that I referred to in my original comment on this issue. We need the public interfaces of Tomcat鈥檚 externals to be fixed before we can upgrade. It鈥檒l be 2.1 at the earliest.

Just sharing that as of Tomcat 9.0.5, 9.0.x API Stability matches 8.5.x API stability.

==============
API Stability:
==============

The public interfaces for the following classes are fixed and will not be
changed at all during the remaining lifetime of the 8.x series:
- All classes in the javax namespace

The public interfaces for the following classes may be added to in order to
resolve bugs and/or add new features. No existing interface method will be
removed or changed although it may be deprecated.
- org.apache.catalina.* (excluding sub-packages)

Support of 8.X is EOL in June. I hope that's being tracked.

http://tomcat.apache.org/tomcat-80-eol.html

It鈥檚 not 8.x, but 8.0.x. Boot 1.5 and 2.0 use 8.5.x so are unaffected by that EOL announcement.

I tried to add Servlet 4.0 support, so both Tomcat 9 and Undertow 2 can be used as embedded servlet containers.
Currently there is a bug in Tomcat 9.0.5 which is applying compression in certain scenarios where we don't want it to happen.

See https://bz.apache.org/bugzilla/show_bug.cgi?id=62154

Will Spring Boot 1.5.x support Tomcat 9 or only Spring Boot 2.1 @wilkinsona ?

It will be new functionality so it will be in 2.1 only.

We need Tomcat 9.0.9 so that we can pick up this fix for an earlier regression.

FYI, Tomcat 9.0.10 was released.

Thanks, @vkennke. We should hopefully be able to get this into 2.1 M1 now.

Was this page helpful?
0 / 5 - 0 ratings