Spring boot 3 and Spring 6 with Tomcat 9 - spring

I have not found the answer I want on the web so I've decided to ask it here. Apologize if this breaks any rules, etc.
We're trying to upgrade some of our java applications to spring boot 3 and spring 6. The question is, will these apps still work with Tomcat 9?
These apps are currently running spring boot 2, spring 5 and Tomcat 9.

Based on this, Tomcat 9 won't work with Spring 6. So, moving to spring 6 will requrire going to Tomcat 10.
https://devm.io/spring/spring-framework-6-release
The sixth major version of the Spring Framework has been released,
with Spring Boot 3.0 to follow at the end of November. Spring
Framework 6.0 requires a minimum of JDK 17 at runtime, as well as a
minimum of Tomcat 10/Jetty 11.

Related

Upgrade of tomcat from 9.0.64 to 10.0.22

what come in place of MockHttpServletResponse in servlet 5? This class is not supporting in servlet 5, what is alternative?
Spring 5 is not compatible with Tomcat 10 due to the package renaming from javax to jakarta. The Spring that will work with jakarta package names will be Spring 6.
https://github.com/spring-projects/spring-boot/issues/25276
"This is to be expected. Tomcat 10 is an implementation of the Servlet 5 specification (part of Jakarta EE 9) that renamed all of the packages from javax.servlet to jakarta.servlet. Neither Spring Boot nor Spring Framework supports Jakarta EE 9 at this time. Support is planned, hopefully for Spring Framework 6 and Spring Boot 3, assuming the rest of the ecosystem is ready."
The alternative is to stay on Tomcat 9 until Spring 6 is out.

what is the spring-web module compatible with tomcat 10

what is the spring-web module version compatible with tomcat 10?
Spring web Application is running on tomcat 9.x and its fail with ClassCastException ad tomcat 10 using jakarta API.
java.lang.ClassCastException: org.springframework.web.filter.DelegatingFilterProxy cannot be cast to jakarta.servlet.Filter
There is none, currently, none of the spring 5 versions support Jakarta packages.
They did say however that in version 6 they will tho, but for now it supports Javax packages.
There might be some workaround, I know I had to test if Spring 4 works with JDK11, it does, but Spring suggests using Spring 5 for JDK11.
For Spring MVC 5, the Spring MVC DispatcherServlet has a dependency on the javax.servlet.* package namespace. This is using the Java EE 8 javax package naming. Since Tomcat 10 is based on Jakarta EE 9, the packages for javax naming are not supported. This explains why Spring MVC 5 does not work on Tomcat 10.
https://github.com/spring-projects/spring-boot/issues/25276

Spring Security 5 + Spring 4 - Is this supported?

We have a need to use the new Spring Security 5 OAuth 2 libraries in one of our apps but it is using spring 4. Do we have to upgrade the Spring Core libraries to version 5 to match the Spring Security 5 version? Pretty certain that we have to do this, but its a non trivial effort so trying to understand if it is necessary.

Activiti 7 with spring-boot 1.5.x support

I was creating spring-boot project with Activiti.
I noticed that Activiti option is now missing from https://start.spring.io/
for both 1.5.18 and 2.1.1 versions of spring boot.
The Activiti 7 is under development (beta available) with examples on spring-boot 2.x
Can I use Activiti 7 with spring-boot 1.5.18?
For spring boot 1.x you are probably safest to use Activiti 6 as Activiti 7 is being built for spring boot 2.x. But if you're especially interested in Activiti 7 then please feel free to ask on the Activiti 7 gitter chat and discuss your use case with the development team and the community there.

Spring Boot for older version of java

I am looking to create a new web application using spring boot. Unfortunately my server is fairly locked down in terms of the technology stack. It has java 5 installed on it.
Can anyone tell me whether spring boot can run on java 1.5 and what version?
thanks
Since Spring boot 1.0.0, the minimal requirement to run a Spring boot application has been Java 6. This can also be found in the reference guide of Spring boot 1.0.0:
Spring Boot can be used with “classic” Java development tools or installed as a command line tool. Regardless, you will need Java SDK v1.6 or higher.
Support for older Java versions has been dropped throughout releases, with Spring boot 1.3 moving to Java 7 as a baseline (still possible to use Java 6 with additional configuration) and Spring boot 2.x moving to Java 8 as a baseline. Additionally to what the documentation says, none of the Spring boot 1.x versions support Java 9 or higher.
Summarized:
1.0.0: Support from Java 6 - 8
1.3.0: Support from Java 7 - 8, additional configuration for Java 6 required
2.0.0: Support from Java 8 - ...
So, the answer is that it's not possible to run in Java 5.
For Spring Boot 2.0, the requirement is Java 8 as a minimum version.
From the Spring Boot 2.0 release notes :
Spring Boot 2.0 requires Java 8 as a minimum version. Many existing
APIs have been updated to take advantage of Java 8 features such as:
default methods on interfaces, functional callbacks, and new APIs such
as javax.time. If you are currently using Java 7 or earlier, you’ll
need to upgrade your JDK before you can develop Spring Boot 2.0
applications.

Resources