How To update Spring version in spring microservice - spring-boot

i am trying to update my spring version to 2.7.3 for my existing spring microservice project but
Your project setup is incompatible with our requirements due to following reasons:
Spring Boot [2.7.3] is not compatible with this Spring Cloud release train
Action:
Consider applying the following actions:
Change Spring Boot version to one of the following versions [2.4.x, 2.5.x] .
You can find the latest Spring Boot versions here [https://spring.io/projects/spring-boot#learn].
If you want to learn more about the Spring Cloud Release train compatibility, you can visit this page [https://spring.io/projects/spring-cloud#overview] and check the [Release Trains] section.
If you want to disable this check, just set the property [spring.cloud.compatibility-verifier.enabled=false]
i updated spring cloud version to the latest one but then it throws cloud hystrix version compatibility issue can some one explain how to update spring verison for existing spring boot micro service project.
Thanks.

Related

Can I just Upgrade springframwork to 5.3.18 to avoid CVE-2022-22965?

The spring published that:
I used spring 5.3.16, spring boot 2.2.10.RELEASE, spring cloud 2.2.10.RELEASE to use spring-cloud-netflix-zuul, so, can I just upgrade the spring version to 5.3.18, but don't upgrade other framwork?
Spring Boot 2.2.x is EOL and may contain other security fixes that affect you. Spring Boot 2.2.10.RELEASE use Spring Framework 5.2.9.RELEASE.
If you are using Spring Framework 5.3.x, this is not really a supported scenario irrespective of this CVE. You should be using Spring Framework 5.2.x. For that, we have released Spring Framework 5.2.20.
Of course, to be really safe you should upgrade to a supported version.

spring initializr 2.3.x removed

Spring Boot 2.3.12.RELEASE was released on 10th Jun 2021 and in July it's been removed from "spring initializr" page (https://start.spring.io/).
https://spring.io/blog/2021/06/10/spring-boot-2-3-12-release-available-now
My questions:
Is 2.3.x deprecated already?
If I want to generate a new Spring Boot project for version 2.3.12, how can I do it? It no longer can be done from "spring initializr" page.
Is 2.3.x deprecated already?
Yes. Spring Boot 2.3.x was removed from https://start.spring.io as 2.3.x reached the end of its open source support period on 15 May 2021.
If I want to generate a new Spring Boot project for version 2.3.12, how can I do it?
Ideally, you shouldn't. Any existing projects that are using Spring Boot 2.3.x should be updated to 2.4.x or 2.5.x as soon as possible and new projects should use 2.4.x or 2.5.x from the outset.
If you have to start a new project using an unsupported version of Spring Boot, you could generate the project and then modify the version in the pom.xml or build.gradle file to downgrade the version. This may get harder to do the longer the version has been out of support.
If you are using Spring Cloud, you can use start.spring.io's info endpoint to help with version mappings:
…
"spring-cloud": {
"2020.0.0": "Spring Boot >=2.4.0.M4 and <=2.4.0",
"2020.0.0-M3": "Spring Boot >=2.4.0.M1 and <=2.4.0.M1",
"2020.0.0-M4": "Spring Boot >=2.4.0.M2 and <=2.4.0-M3",
"2020.0.3": "Spring Boot >=2.4.1 and <2.5.4-SNAPSHOT",
"2020.0.4-SNAPSHOT": "Spring Boot >=2.5.4-SNAPSHOT",
"Hoxton.SR12": "Spring Boot >=2.2.0.RELEASE and <2.4.0.M1"
},
…
The above indicates that Spring Cloud Hoxton.SR12 should be used with Spring Boot 2.3.x (and 2.2.x).
Note that Spring Cloud Hoxton is also out of its OSS support period so you really should be looking to upgrade to Spring Boot 2.4.x or 2.5.x and Spring Cloud 2020.0.x.
Answer-1: Check #andy-wilkinson's answer.
Answer-2: You can use Spring-CLI
Steps:
Install Spring-CLI
Run following command
spring init --boot-version=2.3.12.RELEASE --dependencies=web,data-jpa
old-boot-project
For more on Spring-CLI. Please check official documents here

Can GraphQL server be built with Spring Boot version less than 2.x?

I am adding GraphQL schema wiring to my legacy microservices. I want to embed the wiring inside each of the spring boot services; The challenge I am running into is my project's Spring boot version is 1.4.5 RELEASE and moving it up to 2.x runs into others issues and would be ideal if I can get a basic graphql schema wiring done without updating version to 2.x. I see from documentation that minimal Spring boot version needed is 2.2.x in articles like this:
https://www.graphql-java.com/tutorials/getting-started-with-spring-boot/
According to the gradle build file for the graphql-java-spring library (https://github.com/graphql-java/graphql-java-spring/blob/master/build.gradle) the oldest supported Spring versions are:
springVersion = "5.1.2.RELEASE"
springBootVersion = "2.1.0.RELEASE"
You can try to compile it with an earlier spring boot version, but there is probably a lot of work to do.

Spring-Boot 1.5.10.release compatibility with apache-kafka-2.3.0 client

My project is built with Spring boot 1.5.10.release. We want to migrate to Apache Kafka® 2.3.0 from Apache Kafka 1.0.x.
We are currently using Spring-kafka 1.3.9.release and want to migrate to spring-kafka-2.3.0. Can we do this without changing the Spring boot version of 1.5.10.release?
I went through the Compatibility matrix but I don't see any relevant answer to my question
https://spring.io/projects/spring-kafka
No, you can't do that. Spring Kafka 2.x, as well Spring Boot 2.x, is based on Spring Framework 5.x and Java 8. You can't mix so critical versions in Spring Boot 1.5.x.
It is really better to rely on the Spring Boot dependencies management. That way you can be sure that all the artifacts brought by Spring Boot are tested together.

How to check which Spring Boot version goes with spring-cloud-gcp-starter-data-spanner 1.1.0.RC1?

I intended to use Spring Data Cloud Spanner starter (version 1.1.0.RC1) with Spring Boot application but cannot find the official document of which Spring Boot version it goes with. Running my app and it works well with Spring Boot 2.x.x but not with Spring Boot version 1.x.x (ClassNotFoundException). Could anyone help:
Any document to show which SpringBoot version goes with Spring Data Cloud Spanner starter (version 1.1.0.RC1)?
Any way to make Data Cloud Spanner starter (ideally 1.1.0.RC1) work with SpringBoot version 1.5.17?
Thank you.
TL;DR Spring Boot 2.1 but you shouldn't have to care.
Spring Cloud Data Spanner is part of the Spring Cloud GCP project that recently joined the official Spring Cloud release train.
Rather than figuring out which version of a particular library is needed , I'd strongly recommend you to use proper dependency management in your build and let default apply. That way you can select a Spring Cloud generation (i.e. release train) and the dependencies that you need will be managed for you automatically (that is, no need to provide a version for them).
The latest 1.0 RC, RC2 at the time of writing, is part of the Greenwich release train with a RC2 release this week.
To get started with proper dependency management, go to https://start.spring.io and select "GCP Support" to get a build with the proper BOM import. Once you've done that you can add the starter without a version and things will be managed for you.
The relationships between Spring Boot version and Spring Cloud release train is documented here and on start.spring.io as well.

Resources