public abstract class BaseServiceFinderBuilder<T,R extends ServiceRegistry<T>,F extends ServiceFinder<T,R>,B extends BaseServiceFinderBuilder<T,R,F,B,D>,D extends Deserializer<T>> extends Object
| Modifier and Type | Field and Description |
|---|---|
protected List<Signal<T>> |
additionalRefreshSignals |
protected D |
deserializer |
protected boolean |
disablePushUpdaters |
protected String |
namespace |
protected int |
nodeRefreshIntervalMs |
protected ServiceNodeSelector<T> |
nodeSelector |
protected String |
serviceName |
protected ShardSelector<T,R> |
shardSelector |
protected List<Consumer<Void>> |
startSignalHandlers |
protected List<Consumer<Void>> |
stopSignalHandlers |
| Constructor and Description |
|---|
BaseServiceFinderBuilder() |
protected String namespace
protected String serviceName
protected int nodeRefreshIntervalMs
protected boolean disablePushUpdaters
protected D extends Deserializer<T> deserializer
protected ShardSelector<T,R extends ServiceRegistry<T>> shardSelector
protected ServiceNodeSelector<T> nodeSelector
public B withShardSelector(ShardSelector<T,R> shardSelector)
public B withNodeSelector(ServiceNodeSelector<T> nodeSelector)
public B withNodeRefreshIntervalMs(int nodeRefreshIntervalMs)
public B withDisableWatchers()
public B withDisableWatchers(boolean disablePushUpdaters)
public B withAdditionalSignalGenerators(Signal<T>... signalGenerators)
public B withAdditionalSignalGenerators(List<Signal<T>> signalGenerators)
public abstract F build()
protected F buildFinder()
protected List<Signal<T>> implementationSpecificRefreshSignals(Service service, NodeDataSource<T,D> nodeDataSource)
protected abstract NodeDataSource<T,D> dataSource(Service service)
protected abstract F buildFinder(Service service, ShardSelector<T,R> shardSelector, ServiceNodeSelector<T> nodeSelector)
Copyright © 2015–2023. All rights reserved.