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.spi.HasCamelContext, 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

    Constructors
    Constructor
    Description
    Construct a Etcd3WatchServiceDiscovery with the given configuration.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected org.apache.camel.component.etcd3.cloud.Etcd3GetServicesResponse
     
    protected org.apache.camel.component.etcd3.cloud.Etcd3GetServicesResponse
     
    List<org.apache.camel.cloud.ServiceDefinition>
     
    void
     
    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    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 Details

    • Etcd3WatchServiceDiscovery

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

    • doStop

      protected void doStop() throws Exception
      Throws:
      Exception
    • 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.