Class FaultToleranceProcessor
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.AsyncProcessorSupport
-
- org.apache.camel.component.microprofile.faulttolerance.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.RouteIdAwareImplementation of Circuit Breaker EIP using microprofile fault tolerance.
-
-
Constructor Summary
Constructors Constructor Description FaultToleranceProcessor(FaultToleranceConfiguration config, org.apache.camel.Processor processor, org.apache.camel.Processor fallbackProcessor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoBuild()protected voiddoInit()protected voiddoShutdown()protected voiddoStart()protected voiddoStop()intgetBulkheadMaxConcurrentCalls()intgetBulkheadWaitingTaskQueue()org.apache.camel.CamelContextgetCamelContext()io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreakergetCircuitBreaker()StringgetCircuitBreakerState()longgetDelay()ExecutorServicegetExecutorService()floatgetFailureRate()StringgetId()intgetRequestVolumeThreshold()StringgetRouteId()intgetSuccessThreshold()longgetTimeoutDuration()intgetTimeoutPoolSize()StringgetTraceLabel()booleanhasNext()booleanisBulkheadEnabled()booleanisShutdownExecutorService()booleanisTimeoutEnabled()List<org.apache.camel.Processor>next()booleanprocess(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)voidsetCamelContext(org.apache.camel.CamelContext camelContext)voidsetCircuitBreaker(io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker circuitBreaker)voidsetExecutorService(ExecutorService executorService)voidsetId(String id)voidsetRouteId(String routeId)voidsetShutdownExecutorService(boolean shutdownExecutorService)-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doFail, doLifecycleChange, doResume, 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
-
-
-
-
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:
getCamelContextin interfaceorg.apache.camel.CamelContextAware
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext)
- Specified by:
setCamelContextin interfaceorg.apache.camel.CamelContextAware
-
getId
public String getId()
- Specified by:
getIdin interfaceorg.apache.camel.spi.HasId
-
setId
public void setId(String id)
- Specified by:
setIdin interfaceorg.apache.camel.spi.IdAware
-
getRouteId
public String getRouteId()
- Specified by:
getRouteIdin interfaceorg.apache.camel.spi.RouteIdAware
-
setRouteId
public void setRouteId(String routeId)
- Specified by:
setRouteIdin interfaceorg.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)
-
getExecutorService
public ExecutorService getExecutorService()
-
setExecutorService
public void setExecutorService(ExecutorService executorService)
-
getTraceLabel
public String getTraceLabel()
- Specified by:
getTraceLabelin interfaceorg.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()
-
getCircuitBreakerState
@ManagedAttribute(description="Returns the current state of the circuit breaker") public String getCircuitBreakerState()
-
next
public List<org.apache.camel.Processor> next()
- Specified by:
nextin interfaceorg.apache.camel.Navigate<org.apache.camel.Processor>
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfaceorg.apache.camel.Navigate<org.apache.camel.Processor>
-
process
public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)- Specified by:
processin interfaceorg.apache.camel.AsyncProcessor
-
doBuild
protected void doBuild() throws Exception- Overrides:
doBuildin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
doInit
protected void doInit() throws Exception- Overrides:
doInitin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
doStart
protected void doStart() throws Exception- Overrides:
doStartin classorg.apache.camel.support.AsyncProcessorSupport- Throws:
Exception
-
doStop
protected void doStop() throws Exception- Overrides:
doStopin classorg.apache.camel.support.AsyncProcessorSupport- Throws:
Exception
-
-