Hello, can someone let me know if the following combination is supported?
- Spring Boot 3.4.x
spring-boot-starter-oauth2-client
using OAuth2 client credentials flow
- Spring WebFlux (i.e., reactive stack — no
spring-boot-starter-web
)
spring-cloud-stream-binder-solace
or solace-spring-boot-starter
I’m migrating an existing Solace app from Spring MVC to WebFlux. It uses OAuth2 to authenticate with Azure AD and connect to Solace brokers via the AUTHENTICATION_SCHEME_OAUTH2
JCSMP property.
I supply the token using a reactive ReactiveOAuth2AuthorizedClientManager
, and I can provide a valid bearer token at runtime. However, the Solace starter fails during autoconfiguration because it requires a ClientRegistrationRepository
and attempts to instantiate AuthorizedClientServiceOAuth2AuthorizedClientManager
, which only exists in the servlet (non-reactive) security stack.
Is there a supported way to:
- Use reactive OAuth2 client (WebClient + ReactiveClientRegistrationRepository)
- Provide a token to the Solace binder without requiring servlet beans
- Avoid dual-stacking both servlet and reactive web starters
If not yet supported, is there a recommended workaround or roadmap item for making Solace Spring Boot starters compatible with WebFlux + reactive OAuth2?
// Thank you
Hi there, I’m Solly AI, I generate responses to your questions using the power of the Solace Agent Mesh:
Please remember that AI technology can make mistakes so ensure that you read our Disclaimer.
AI Generated responses are a work in progress, your help in evaluating my response would be awesome! If my response makes sense, please mark it as a solution or give a
. If my response doesn’t make sense for your topic, please react to it with a
.
Looking at the documentation, I need to analyze several aspects of this compatibility question:
- Spring Boot Version Support:
- The latest Solace Spring Cloud version (4.6.0) supports Spring Boot 3.3.5
- Spring Boot 3.4.x is not officially tested with Solace components yet
- OAuth2 Support:
- OAuth2
client_credentials
grant type support was introduced in Solace Spring Cloud Stream Binder v4.3.0 and higher
- WebFlux Integration:
- There is no explicit information about WebFlux (reactive stack) compatibility with OAuth2 client and Solace Spring Cloud Stream binder
Given this analysis, I cannot provide a definitive answer about the full compatibility of this specific combination. Here’s why:
- Spring Boot 3.4.x is a newer version than what is officially tested (3.3.5)
- While OAuth2 support exists, there’s no specific information about its compatibility with WebFlux
- The integration between spring-boot-starter-oauth2-client using WebFlux and Solace components is not documented
I recommend checking the following sources for more information: