Class FaultToleranceProcessor

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.AsyncProcessor, org.apache.camel.CamelContextAware, org.apache.camel.Navigate<org.apache.camel.Processor>, org.apache.camel.Processor, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.HasId, org.apache.camel.spi.IdAware, org.apache.camel.spi.RouteIdAware, org.apache.camel.StatefulService, org.apache.camel.SuspendableService, org.apache.camel.Traceable

    @ManagedResource(description="Managed FaultTolerance Processor")
    public class FaultToleranceProcessor
    extends org.apache.camel.support.AsyncProcessorSupport
    implements org.apache.camel.CamelContextAware, org.apache.camel.Navigate<org.apache.camel.Processor>, org.apache.camel.Traceable, org.apache.camel.spi.IdAware, org.apache.camel.spi.RouteIdAware
    Implementation of Circuit Breaker EIP using microprofile fault tolerance.
    • Constructor Detail

      • FaultToleranceProcessor

        public FaultToleranceProcessor​(FaultToleranceConfiguration config,
                                       org.apache.camel.Processor processor,
                                       org.apache.camel.Processor fallbackProcessor)
    • Method Detail

      • 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
      • getId

        public String getId()
        Specified by:
        getId in interface org.apache.camel.spi.HasId
      • setId

        public void setId​(String id)
        Specified by:
        setId in interface org.apache.camel.spi.IdAware
      • getRouteId

        public String getRouteId()
        Specified by:
        getRouteId in interface org.apache.camel.spi.RouteIdAware
      • setRouteId

        public void setRouteId​(String routeId)
        Specified by:
        setRouteId in interface org.apache.camel.spi.RouteIdAware
      • getCircuitBreaker

        public io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker getCircuitBreaker()
      • setCircuitBreaker

        public void setCircuitBreaker​(io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker circuitBreaker)
      • isShutdownExecutorService

        public boolean isShutdownExecutorService()
      • setShutdownExecutorService

        public void setShutdownExecutorService​(boolean shutdownExecutorService)
      • setExecutorService

        public void setExecutorService​(ExecutorService executorService)
      • getTraceLabel

        public String getTraceLabel()
        Specified by:
        getTraceLabel in interface org.apache.camel.Traceable
      • getDelay

        @ManagedAttribute(description="Returns the current delay in milliseconds.")
        public long getDelay()
      • getFailureRate

        @ManagedAttribute(description="Returns the current failure rate in percentage.")
        public float getFailureRate()
      • getRequestVolumeThreshold

        @ManagedAttribute(description="Returns the current request volume threshold.")
        public int getRequestVolumeThreshold()
      • getSuccessThreshold

        @ManagedAttribute(description="Returns the current success threshold.")
        public int getSuccessThreshold()
      • isTimeoutEnabled

        @ManagedAttribute(description="Is timeout enabled")
        public boolean isTimeoutEnabled()
      • getTimeoutDuration

        @ManagedAttribute(description="The timeout wait duration")
        public long getTimeoutDuration()
      • getTimeoutPoolSize

        @ManagedAttribute(description="The timeout pool size for the thread pool")
        public int getTimeoutPoolSize()
      • isBulkheadEnabled

        @ManagedAttribute(description="Is bulkhead enabled")
        public boolean isBulkheadEnabled()
      • getBulkheadMaxConcurrentCalls

        @ManagedAttribute(description="The max amount of concurrent calls the bulkhead will support.")
        public int getBulkheadMaxConcurrentCalls()
      • getBulkheadWaitingTaskQueue

        @ManagedAttribute(description="The task queue size for holding waiting tasks to be processed by the bulkhead")
        public int getBulkheadWaitingTaskQueue()
      • next

        public List<org.apache.camel.Processor> next()
        Specified by:
        next in interface org.apache.camel.Navigate<org.apache.camel.Processor>
      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface org.apache.camel.Navigate<org.apache.camel.Processor>
      • process

        public boolean process​(org.apache.camel.Exchange exchange,
                               org.apache.camel.AsyncCallback callback)
        Specified by:
        process in interface org.apache.camel.AsyncProcessor
      • doBuild

        protected void doBuild()
                        throws Exception
        Overrides:
        doBuild in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • doInit

        protected void doInit()
                       throws Exception
        Overrides:
        doInit in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • doStart

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

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

        protected void doShutdown()
                           throws Exception
        Overrides:
        doShutdown in class org.apache.camel.support.service.BaseService
        Throws:
        Exception