Spring-boot-admin: Support Spring Boot 2.4.0

Created on 31 Oct 2020  路  9Comments  路  Source: codecentric/spring-boot-admin

Hello SBA Team,

We were using SBA 2.3.0 with Springboot 2.3.x for a while, no problem, very happy.

Springboot recently announced the release of 2.4.0-RC1. We bumped everything on our side to 2.4.0-RC1 and Illford, and believe the current SBA is not compatible.

@EnableAdminServer
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }

}
An attempt was made to call a method that does not exist. The attempt was made from the following location:

    de.codecentric.boot.admin.server.services.AbstractEventHandler.start(AbstractEventHandler.java:57)

The following method did not exist:

    'reactor.core.publisher.Flux reactor.core.publisher.Flux.retryWhen(java.util.function.Function)'

The method's class, reactor.core.publisher.Flux, is available from the following locations:

    jar:file:/Users/Users/.m2/repository/io/projectreactor/reactor-core/3.4.0/reactor-core-3.4.0.jar!/reactor/core/publisher/Flux.class

The class hierarchy was loaded from the following locations:

    reactor.core.publisher.Flux: file:/Users/Users/.m2/repository/io/projectreactor/reactor-core/3.4.0/reactor-core-3.4.0.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of reactor.core.publisher.Flux


Process finished with exit code 1

Could you please help?

client enhancement server

Most helpful comment

I created a PR for this.

All 9 comments

Currently we didn't have worked on compat for SB 2.4. do you want to submit a PR for updating to Spring Boot 2.4.0-RC1?

Hello @joshiste,

Many thanks for looking into this.
I am definitely interested in helping in the compatibility between SBA and SpringBoot 2.4.x
However, I am more of a happy user of this project, rather than a contributor.
I am afraid my technical skill will not be sufficient enough to understand where SBA needs modification in order to support the new changes from SpringBoot reactive part.

With that said, is my current understand correct, that if nothing is done, any user of this project who will upgrade to SpringBoot 2.4.x (which is bound within weeks) will not be able to use SBA anymore?

Thank you

that if nothing is done, any user of this project who will upgrade to SpringBoot 2.4.x (which is bound within weeks) will not be able to use SBA anymore?

Finding someone who does the work would help speed things up. But nevertheless I bet there will be some compatible SBA version shortly after the SB 2.4.0 release. Also it would be also possible to stay on 2.3.x for the server and just update the monitored clients

Agreed. However, due to the new bootstraps features of Spring Cloud, we would like to bump our server with SBA up to SpringBoot 2.4.x.

I believe this shouldn't be a first time. I can just guess maybe the exact same scenario happened with 2.3.0. Maybe you maintain a list of possible change to perform whenever Spring decide to include breaking changes?

I would love to help on this migration, but again, my level is definitely a happy user that understand how to spin up the SBA server and have application registered themselves to it and enjoy the magic. (thanks to this project).

Hello Team,
The issue is happening because of the removal of the following method from reactor-core 3.4.0

public final Flux<T> retryWhen(Function<Flux<Throwable>, ? extends Publisher<?>> whenFactory)
which is being used in many locations.

If it is not already being worked upon can I work on it ?

can I work on it ?

sure. go for it.

I created a PR for this.

Due to the near release of Spring Boot (GA this week) this issue delivers high value with low risk - could this be released as a hotfix?

the deprecations have been fixed. The 2.3.1 release will contain these fixes. I'll leave this issue open, for when we switch to the Spring Boot 2.4.0 in Spring Boot Admin 2.4.0

Was this page helpful?
0 / 5 - 0 ratings