Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Fluent -style builder API support. #3431

@chickenlj

Description

@chickenlj

I am thinking of providing a fluent -style builder API built on ServiceConfig, ReferenceConfig, ...
It may work like this:

ApplicationConfig applicationConfig = ApplicationBuilder.name("demo").build();

ServiceConfig serviceConfig = ServiceBuilder.ref(ref).timeout(1000).build();
ReferenceConfig referenceConfig = ReferenceBuilder.interface("interface name").timeout(2000).build();

DubboBuilder dubboBuilder = DubboBuilder.application(applicationConfig).registry(registryConfig).protocol(protocol);

// To trigger the export/refer process, you can just start dubboBuilder
dubboBuilder.services(Arrays.asList(serviceConfig)).references(Arrays.asList(referenceConfig)).start();
// Or, you can export/refer one specific Service or Reference
dubboBuilder.export(serviceConfig);
dubboBuilder.refer(referenceConfig);

At present, one of the problems of using ServiceConfig and ReferenceConfig directly is that some application-level configurations need to be set to each ServiceConfig or ReferenceConfig, which is redundant, unnecessary and inconvenient for users

ApplicationConfig application = new ApplicationConfig();

ServiceConfig serviceConfig1 = new ServiceConfig();
serviceConfig1.setApplication(application);
serviceConfig1.export();

ServiceConfig serviceConfig2 = new ServiceConfig();
serviceConfig2.setApplication(application);
serviceConfig2.export();

Metadata

Metadata

Assignees

Labels

help wantedEverything needs help from contributors

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions