public class ConfigManager extends Object
Maybe we can consider open to end user in the following version by providing a fluent style builder.
public void class DubboBuilder() {
public static DubboBuilder create() {
return new DubboBuilder();
}
public DubboBuilder application(ApplicationConfig application) {
ConfigManager.getInstance().addApplication(application);
return this;
}
...
public void build() {
// export all ServiceConfigs
// refer all ReferenceConfigs
}
}
TODO
The properties defined here are duplicate with that in ReferenceConfig/ServiceConfig,
the properties here are currently only used for duplication check but are still not being used in the export/refer process yet.
Maybe we can remove the property definition in ReferenceConfig/ServiceConfig and only keep the setXxxConfig() as an entrance.
All workflow internally can rely on ConfigManager.public static ConfigManager getInstance()
public Optional<ApplicationConfig> getApplication()
public void setApplication(ApplicationConfig application)
public Optional<MonitorConfig> getMonitor()
public void setMonitor(MonitorConfig monitor)
public Optional<ModuleConfig> getModule()
public void setModule(ModuleConfig module)
public Optional<ConfigCenterConfig> getConfigCenter()
public void setConfigCenter(ConfigCenterConfig configCenter)
public Optional<ProviderConfig> getProvider(String id)
public Optional<ProviderConfig> getDefaultProvider()
public void addProvider(ProviderConfig providerConfig)
public Optional<ConsumerConfig> getConsumer(String id)
public Optional<ConsumerConfig> getDefaultConsumer()
public void addConsumer(ConsumerConfig consumerConfig)
public Optional<ProtocolConfig> getProtocol(String id)
public Optional<List<ProtocolConfig>> getDefaultProtocols()
public void addProtocols(List<ProtocolConfig> protocolConfigs)
public void addProtocol(ProtocolConfig protocolConfig)
public Optional<RegistryConfig> getRegistry(String id)
public Optional<List<RegistryConfig>> getDefaultRegistries()
public void addRegistries(List<RegistryConfig> registryConfigs)
public void addRegistry(RegistryConfig registryConfig)
public Map<String,ProtocolConfig> getProtocols()
public Map<String,RegistryConfig> getRegistries()
public Map<String,ProviderConfig> getProviders()
public Map<String,ConsumerConfig> getConsumers()
public void refreshAll()
public void clear()
Copyright © 2011–2019 The Apache Software Foundation. All rights reserved.