Class Etcd3WatchServiceDiscovery
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.impl.cloud.DefaultServiceDiscovery
org.apache.camel.component.etcd3.cloud.Etcd3WatchServiceDiscovery
- All Implemented Interfaces:
io.etcd.jetcd.Watch.Listener,AutoCloseable,org.apache.camel.CamelContextAware,org.apache.camel.cloud.ServiceDiscovery,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
public class Etcd3WatchServiceDiscovery
extends org.apache.camel.impl.cloud.DefaultServiceDiscovery
implements io.etcd.jetcd.Watch.Listener
An implementation of a
Etcd3ServiceDiscovery that retrieves all the service definitions from etcd at first
call, then refresh the list when a change has been detected.-
Field Summary
Fields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING -
Constructor Summary
ConstructorsConstructorDescriptionEtcd3WatchServiceDiscovery(Etcd3Configuration configuration) Construct aEtcd3WatchServiceDiscoverywith the given configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoStop()protected org.apache.camel.component.etcd3.cloud.Etcd3GetServicesResponseprotected org.apache.camel.component.etcd3.cloud.Etcd3GetServicesResponsefindServices(Predicate<Etcd3ServiceDefinition> filter) List<org.apache.camel.cloud.ServiceDefinition>getServices(String name) voidvoidvoidonNext(io.etcd.jetcd.watch.WatchResponse response) Methods inherited from class org.apache.camel.impl.cloud.DefaultServiceDiscovery
doStart, getCamelContext, setCamelContextMethods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
Etcd3WatchServiceDiscovery
Construct aEtcd3WatchServiceDiscoverywith the given configuration.- Parameters:
configuration- the configuration used to set up the service discovery.
-
-
Method Details
-
doStop
- Throws:
Exception
-
getServices
- Specified by:
getServicesin interfaceorg.apache.camel.cloud.ServiceDiscovery- Overrides:
getServicesin classorg.apache.camel.impl.cloud.DefaultServiceDiscovery
-
onNext
public void onNext(io.etcd.jetcd.watch.WatchResponse response) - Specified by:
onNextin interfaceio.etcd.jetcd.Watch.Listener
-
onError
- Specified by:
onErrorin interfaceio.etcd.jetcd.Watch.Listener
-
onCompleted
public void onCompleted()- Specified by:
onCompletedin interfaceio.etcd.jetcd.Watch.Listener
-
findServices
protected org.apache.camel.component.etcd3.cloud.Etcd3GetServicesResponse findServices()- Returns:
- all the service definitions that could be found.
-
findServices
protected org.apache.camel.component.etcd3.cloud.Etcd3GetServicesResponse findServices(Predicate<Etcd3ServiceDefinition> filter) - Parameters:
filter- the filter to apply.- Returns:
- all the matching service definitions that could be found.
-