Skip to content

Switch HttpServiceFactory and RSocketServiceProxyFactory to builder model for programmatic configuration first #29296

@rstoyanchev

Description

@rstoyanchev

We started with a builder, but in #28505 switched to expecting a bean declaration when EmbeddedValueResolverAware support was added, and also with the expectation it would be declared as a bean in Boot autoconfig.

Internal review has now pointed out that it's more likely for Boot autoconfig to want to declare an HttpServiceFactory.Builder bean to share common builder config for different remote services. That way Boot could plug in the EmbeddedValueResolver and ConversionService by default, and allow application customizers to make changes too.

This would also align with the pattern from the WebClient autoconfig works which declares a WebClient.Builder prototype bean. However, in this case, to create the final factory instance, the application would inject both a HttpServiceFactory.Builder and a WebClient.Builder to complete the build setup.

A bit late for enough feedback cycles for RC1, but we'll aim for RC2.

Metadata

Metadata

Assignees

Labels

in: messagingIssues in messaging modules (jms, messaging)in: webIssues in web modules (web, webmvc, webflux, websocket)type: enhancementA general enhancement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions