Due to #31280, ReactorResourceFactory is now used from org.springframework.http.client.ReactorNettyClientRequestFactory in addition to org.springframework.http.client.reactive.ReactorClientHttpConnector, so org.springframework.http.client.reactive is likely not the right package anymore for this class. After a discussion on the various options possible, the Spring Framework teams agreed on moving ReactorResourceFactory to org.springframework.http.client package, which is a breaking chance but one worth doing to have a sane arrangement.

I will communicate with the Spring Boot team upfront about that change.

Comment From: wilkinsona

This is a breaking change for Boot users as defining a custom ReactorResourceFactory is a documented feature:

  • https://docs.spring.io/spring-boot/docs/3.1.x/reference/htmlsingle/#web.reactive.reactive-server-resources-configuration
  • https://docs.spring.io/spring-boot/docs/3.1.x/reference/htmlsingle/#io.rest-client.webclient.runtime
  • https://docs.spring.io/spring-boot/docs/3.1.x/reference/htmlsingle/#howto.http-clients.webclient-reactor-netty-customization

Given this, can we please have org.springframework.http.client.reactive.ReactorResourceFactory reinstated in deprecated form?

Comment From: sdeleuze

Yes, I reopen this issue to perform what @wilkinsona suggested.

Comment From: chrislhardin

yeah def a breaking change and to work around, I had to do an exclude for org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration,org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration to get around it but that may not work for other situations. Having it back in at least deprecated form until spring-boot-autoconfigure is updated to support it would be nice.

Comment From: sdeleuze

I have reintroduced a deprecated ReactorResourceFactory in org.springframework.http.client.reactive package that extends the one in org.springframework.http.client package to avoid an API breaking change and to provide a smoother upgrade experience.