From baefbc1aff5f1cf53312dc41b3db2a0d9051b9c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Wed, 7 May 2025 10:48:14 -0700 Subject: [PATCH] Upgrade to Tomcat 11.0.6 Closes gh-45475 --- gradle.properties | 2 +- .../boot/autoconfigure/web/ServerProperties.java | 2 +- spring-boot-project/spring-boot-dependencies/build.gradle | 4 ---- .../tomcat/DisableReferenceClearingContextCustomizer.java | 3 +-- .../embedded/tomcat/TomcatReactiveWebServerFactoryTests.java | 1 - .../embedded/tomcat/TomcatServletWebServerFactoryTests.java | 1 - 6 files changed, 3 insertions(+), 10 deletions(-) diff --git a/gradle.properties b/gradle.properties index bc0e93714be..655afb59467 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,6 +21,6 @@ nativeBuildToolsVersion=0.10.6 snakeYamlVersion=2.4 springFrameworkVersion=6.2.7-SNAPSHOT springFramework60xVersion=6.0.23 -tomcatVersion=10.1.40 +tomcatVersion=11.0.6 kotlin.stdlib.default.dependency=false diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java index 50877ba8250..6f4276cdeff 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java @@ -517,7 +517,7 @@ public class ServerProperties { * Maximum number of parameters (GET plus POST) that will be automatically parsed * by the container. A value of less than 0 means no limit. */ - private int maxParameterCount = 10000; + private int maxParameterCount = 1000; /** * Whether to use APR. diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index bcc62b70298..d4535bdb7fc 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -2514,10 +2514,6 @@ bom { } } library("Tomcat", "${tomcatVersion}") { - prohibit { - versionRange "[11.0.0-M1,)" - because "it exceeds our Jakarte EE 10 baseline" - } group("org.apache.tomcat") { modules = [ "tomcat-annotations-api", diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/DisableReferenceClearingContextCustomizer.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/DisableReferenceClearingContextCustomizer.java index fa53c784f25..fe834ba952f 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/DisableReferenceClearingContextCustomizer.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/DisableReferenceClearingContextCustomizer.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,7 +33,6 @@ class DisableReferenceClearingContextCustomizer implements TomcatContextCustomiz return; } try { - standardContext.setClearReferencesObjectStreamClassCaches(false); standardContext.setClearReferencesRmiTargets(false); standardContext.setClearReferencesThreadLocals(false); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/embedded/tomcat/TomcatReactiveWebServerFactoryTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/embedded/tomcat/TomcatReactiveWebServerFactoryTests.java index b63432d8ec9..de9f9bde386 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/embedded/tomcat/TomcatReactiveWebServerFactoryTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/embedded/tomcat/TomcatReactiveWebServerFactoryTests.java @@ -220,7 +220,6 @@ class TomcatReactiveWebServerFactoryTests extends AbstractReactiveWebServerFacto this.webServer.start(); Tomcat tomcat = ((TomcatWebServer) this.webServer).getTomcat(); StandardContext context = (StandardContext) tomcat.getHost().findChildren()[0]; - assertThat(context.getClearReferencesObjectStreamClassCaches()).isFalse(); assertThat(context.getClearReferencesRmiTargets()).isFalse(); assertThat(context.getClearReferencesThreadLocals()).isFalse(); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/embedded/tomcat/TomcatServletWebServerFactoryTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/embedded/tomcat/TomcatServletWebServerFactoryTests.java index d2d1c192ae4..7f6bef418fa 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/embedded/tomcat/TomcatServletWebServerFactoryTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/embedded/tomcat/TomcatServletWebServerFactoryTests.java @@ -538,7 +538,6 @@ class TomcatServletWebServerFactoryTests extends AbstractServletWebServerFactory this.webServer.start(); Tomcat tomcat = ((TomcatWebServer) this.webServer).getTomcat(); StandardContext context = (StandardContext) tomcat.getHost().findChildren()[0]; - assertThat(context.getClearReferencesObjectStreamClassCaches()).isFalse(); assertThat(context.getClearReferencesRmiTargets()).isFalse(); assertThat(context.getClearReferencesThreadLocals()).isFalse(); }