Class Etcd3RoutePolicy

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.RoutePolicy, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

    @ManagedResource(description="Route policy using Etcd as clustered lock")
    public class Etcd3RoutePolicy
    extends org.apache.camel.support.RoutePolicySupport
    implements org.apache.camel.CamelContextAware
    An implementation of a route policy based on etcd.
    • 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 doStart()  
      protected void doStop()  
      org.apache.camel.CamelContext getCamelContext()  
      io.etcd.jetcd.Client getClient()  
      String getEndpoints()  
      String getEndpointUrl()  
      String getRouteId()  
      String getServiceName()  
      String getServicePath()  
      int getTimeout()  
      int getTtl()  
      boolean isLeader()  
      boolean isShouldStopConsumer()  
      void onInit​(org.apache.camel.Route route)  
      void onStart​(org.apache.camel.Route route)  
      void onStop​(org.apache.camel.Route route)  
      void onSuspend​(org.apache.camel.Route route)  
      void setCamelContext​(org.apache.camel.CamelContext camelContext)  
      void setEndpoints​(String endpoints)  
      void setEndpoints​(String[] endpoints)  
      protected void setLeader​(boolean isLeader)
      Sets the latest leadership state of the current node and potentially triggers actions if the state has changed.
      void setServiceName​(String serviceName)  
      void setServicePath​(String servicePath)  
      void setShouldStopConsumer​(boolean shouldStopConsumer)  
      void setTimeout​(int timeout)  
      void setTtl​(int ttl)  
      • Methods inherited from class org.apache.camel.support.RoutePolicySupport

        controller, getExceptionHandler, handleException, onExchangeBegin, onExchangeDone, onRemove, onResume, resumeOrStartConsumer, resumeRoute, setExceptionHandler, startConsumer, startRoute, stopConsumer, stopRoute, stopRoute, stopRouteAsync, suspendOrStopConsumer, suspendRoute, suspendRoute
      • 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

      • Etcd3RoutePolicy

        public Etcd3RoutePolicy()
      • Etcd3RoutePolicy

        public Etcd3RoutePolicy​(io.etcd.jetcd.Client client)
      • Etcd3RoutePolicy

        public Etcd3RoutePolicy​(String... endpoints)
    • Method Detail

      • onInit

        public void onInit​(org.apache.camel.Route route)
        Specified by:
        onInit in interface org.apache.camel.spi.RoutePolicy
        Overrides:
        onInit in class org.apache.camel.support.RoutePolicySupport
      • onStart

        public void onStart​(org.apache.camel.Route route)
        Specified by:
        onStart in interface org.apache.camel.spi.RoutePolicy
        Overrides:
        onStart in class org.apache.camel.support.RoutePolicySupport
      • onStop

        public void onStop​(org.apache.camel.Route route)
        Specified by:
        onStop in interface org.apache.camel.spi.RoutePolicy
        Overrides:
        onStop in class org.apache.camel.support.RoutePolicySupport
      • onSuspend

        public void onSuspend​(org.apache.camel.Route route)
        Specified by:
        onSuspend in interface org.apache.camel.spi.RoutePolicy
        Overrides:
        onSuspend in class org.apache.camel.support.RoutePolicySupport
      • doStart

        protected void doStart()
                        throws Exception
        Overrides:
        doStart in class org.apache.camel.support.RoutePolicySupport
        Throws:
        Exception
      • doStop

        protected void doStop()
                       throws Exception
        Overrides:
        doStop in class org.apache.camel.support.RoutePolicySupport
        Throws:
        Exception
      • getCamelContext

        public org.apache.camel.CamelContext getCamelContext()
        Specified by:
        getCamelContext in interface org.apache.camel.CamelContextAware
      • setCamelContext

        public void setCamelContext​(org.apache.camel.CamelContext camelContext)
        Specified by:
        setCamelContext in interface org.apache.camel.CamelContextAware
      • setLeader

        protected void setLeader​(boolean isLeader)
        Sets the latest leadership state of the current node and potentially triggers actions if the state has changed.
        Parameters:
        isLeader - true if the current node is the leader, false otherwise.
      • getClient

        public io.etcd.jetcd.Client getClient()
      • getRouteId

        @ManagedAttribute(description="The route id")
        public String getRouteId()
      • getEndpointUrl

        @ManagedAttribute(description="The consumer endpoint",
                          mask=true)
        public String getEndpointUrl()
      • getServiceName

        public String getServiceName()
      • setServiceName

        @ManagedAttribute(description="The etcd service name")
        public void setServiceName​(String serviceName)
      • getServicePath

        @ManagedAttribute(description="The etcd service path")
        public String getServicePath()
      • setServicePath

        public void setServicePath​(String servicePath)
      • getTtl

        @ManagedAttribute(description="The time to live (seconds)")
        public int getTtl()
      • setTtl

        public void setTtl​(int ttl)
      • getTimeout

        @ManagedAttribute(description="The request timeout (seconds)")
        public int getTimeout()
      • setTimeout

        public void setTimeout​(int timeout)
      • isShouldStopConsumer

        @ManagedAttribute(description="Whether to stop consumer when starting up and failed to become master")
        public boolean isShouldStopConsumer()
      • setShouldStopConsumer

        public void setShouldStopConsumer​(boolean shouldStopConsumer)
      • isLeader

        @ManagedAttribute(description="Is this route the master or a slave")
        public boolean isLeader()
      • getEndpoints

        @ManagedAttribute(description="Etcd endpoints")
        public String getEndpoints()
      • setEndpoints

        public void setEndpoints​(String[] endpoints)
      • setEndpoints

        public void setEndpoints​(String endpoints)