Class 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doStop()  
      protected org.apache.camel.component.etcd3.cloud.Etcd3GetServicesResponse findServices()  
      protected org.apache.camel.component.etcd3.cloud.Etcd3GetServicesResponse findServices​(Predicate<Etcd3ServiceDefinition> filter)  
      List<org.apache.camel.cloud.ServiceDefinition> getServices​(String name)  
      void onCompleted()  
      void onError​(Throwable throwable)  
      void onNext​(io.etcd.jetcd.watch.WatchResponse response)  
      • Methods inherited from class org.apache.camel.impl.cloud.DefaultServiceDiscovery

        doStart, getCamelContext, setCamelContext
      • Methods 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, suspend
      • Methods inherited from interface org.apache.camel.Service

        build, close, init, start, stop
      • Methods inherited from interface org.apache.camel.ShutdownableService

        shutdown
      • Methods inherited from interface org.apache.camel.StatefulService

        getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
      • Methods inherited from interface org.apache.camel.SuspendableService

        isSuspended, resume, suspend
    • Constructor Detail

      • Etcd3WatchServiceDiscovery

        public Etcd3WatchServiceDiscovery​(Etcd3Configuration configuration)
        Construct a Etcd3WatchServiceDiscovery with the given configuration.
        Parameters:
        configuration - the configuration used to set up the service discovery.
    • Method Detail

      • getServices

        public List<org.apache.camel.cloud.ServiceDefinition> getServices​(String name)
        Specified by:
        getServices in interface org.apache.camel.cloud.ServiceDiscovery
        Overrides:
        getServices in class org.apache.camel.impl.cloud.DefaultServiceDiscovery
      • onNext

        public void onNext​(io.etcd.jetcd.watch.WatchResponse response)
        Specified by:
        onNext in interface io.etcd.jetcd.Watch.Listener
      • onError

        public void onError​(Throwable throwable)
        Specified by:
        onError in interface io.etcd.jetcd.Watch.Listener
      • onCompleted

        public void onCompleted()
        Specified by:
        onCompleted in interface io.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.