@Metadata(label="eip,routing") public class ThrottleDefinition extends ExpressionNode implements ExecutorServiceAwareDefinition<ThrottleDefinition>
inheritErrorHandler, log| Constructor and Description |
|---|
ThrottleDefinition() |
ThrottleDefinition(org.apache.camel.Expression maximumRequestsPerPeriod) |
ThrottleDefinition(org.apache.camel.Expression maximumRequestsPerPeriod,
org.apache.camel.Expression correlationExpression) |
| Modifier and Type | Method and Description |
|---|---|
ThrottleDefinition |
asyncDelayed()
Enables asynchronous delay which means the thread will not block
while delaying.
|
ThrottleDefinition |
callerRunsWhenRejected(boolean callerRunsWhenRejected)
Whether or not the caller should run the task when it was rejected by the
thread pool.
|
protected String |
description() |
ThrottleDefinition |
executorService(ExecutorService executorService)
To use a custom thread pool (ScheduledExecutorService) by the throttler.
|
ThrottleDefinition |
executorServiceRef(String executorServiceRef)
To use a custom thread pool (ScheduledExecutorService) by the throttler.
|
Boolean |
getAsyncDelayed() |
Boolean |
getCallerRunsWhenRejected() |
ExpressionSubElementDefinition |
getCorrelationExpression() |
ExecutorService |
getExecutorService() |
String |
getExecutorServiceRef() |
String |
getLabel()
Returns a label to describe this node such as the expression if some kind
of expression node
|
Boolean |
getRejectExecution() |
String |
getShortName() |
Long |
getTimePeriodMillis() |
ThrottleDefinition |
maximumRequestsPerPeriod(long maximumRequestsPerPeriod)
Sets the time period during which the maximum request count per period
|
ThrottleDefinition |
rejectExecution(boolean rejectExecution)
Whether or not throttler throws the ThrottlerRejectedExecutionException
when the exchange exceeds the request limit
Is by default false
|
void |
setAsyncDelayed(Boolean asyncDelayed) |
void |
setCallerRunsWhenRejected(Boolean callerRunsWhenRejected) |
void |
setCorrelationExpression(ExpressionSubElementDefinition correlationExpression)
The expression used to calculate the correlation key to use for throttle
grouping.
|
void |
setExecutorService(ExecutorService executorService) |
void |
setExecutorServiceRef(String executorServiceRef) |
void |
setExpression(ExpressionDefinition expression)
Expression to configure the maximum number of messages to throttle per
request
|
void |
setRejectExecution(Boolean rejectExecution) |
void |
setTimePeriodMillis(Long timePeriodMillis) |
ThrottleDefinition |
timePeriodMillis(long timePeriodMillis)
Sets the time period during which the maximum request count is valid for
|
String |
toString() |
configureChild, getExpression, getOutputs, id, preCreateProcessor, setExpressionaddInterceptStrategy, addOutput, aggregate, aggregate, aggregate, aggregate, attribute, bean, bean, bean, bean, bean, bean, bean, bean, bean, choice, claimCheck, claimCheck, claimCheck, claimCheck, clearOutput, convertBodyTo, convertBodyTo, delay, delay, delay, doTry, dynamicRouter, dynamicRouter, end, endChoice, endDoTry, endHystrix, endParent, endRest, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, filter, filter, filter, filter, getIndex, getInterceptStrategies, getOtherAttributes, getParent, hystrix, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, inOnly, inOnly, inOnly, inOnly, inOnly, inOut, inOut, inOut, inOut, inOut, isAbstract, isInheritErrorHandler, isTopLevelOnly, isWrappingEntireOutput, loadBalance, loadBalance, log, log, log, log, log, log, loop, loop, loop, loopDoWhile, loopDoWhile, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, onCompletion, onException, onException, pipeline, pipeline, pipeline, pipeline, placeholder, policy, policy, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, process, process, process, process, recipientList, recipientList, recipientList, recipientList, removeHeader, removeHeaders, removeHeaders, removeProperties, removeProperties, removeProperty, resequence, resequence, rollback, rollback, routeDescription, routeGroup, routeId, routingSlip, routingSlip, routingSlip, saga, sample, sample, sample, script, script, serviceCall, serviceCall, serviceCall, setBody, setBody, setBody, setBody, setExchangePattern, setHeader, setHeader, setHeader, setInheritErrorHandler, setOtherAttributes, setParent, setProperty, setProperty, sort, sort, sort, split, split, split, startupOrder, step, step, stop, threads, threads, threads, threads, throttle, throttle, throttle, throttle, throttle, throwException, throwException, to, to, to, to, to, to, to, to, to, to, to, to, to, to, toD, toD, toD, toD, toD, toD, toF, transacted, transacted, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTapdescription, description, getCustomId, getDescription, getDescriptionText, getId, hasCustomIdAssigned, idOrCreate, setCustomId, setDescription, setIdclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitexecutorServicegetReadPropertyPlaceholderOptions, getWritePropertyPlaceholderOptionspublic ThrottleDefinition()
public ThrottleDefinition(org.apache.camel.Expression maximumRequestsPerPeriod)
public ThrottleDefinition(org.apache.camel.Expression maximumRequestsPerPeriod, org.apache.camel.Expression correlationExpression)
protected String description()
public String getShortName()
getShortName in interface org.apache.camel.NamedNodepublic String getLabel()
ProcessorDefinitiongetLabel in interface org.apache.camel.NamedNodegetLabel in class ExpressionNodepublic ThrottleDefinition timePeriodMillis(long timePeriodMillis)
timePeriodMillis - period in millispublic ThrottleDefinition maximumRequestsPerPeriod(long maximumRequestsPerPeriod)
maximumRequestsPerPeriod - the maximum request count number per time
periodpublic ThrottleDefinition callerRunsWhenRejected(boolean callerRunsWhenRejected)
callerRunsWhenRejected - whether or not the caller should runpublic ThrottleDefinition asyncDelayed()
public ThrottleDefinition rejectExecution(boolean rejectExecution)
rejectExecution - throw the RejectExecutionException if the exchange
exceeds the request limitpublic ThrottleDefinition executorService(ExecutorService executorService)
executorService in interface ExecutorServiceAwareDefinition<ThrottleDefinition>executorService - the custom thread pool (must be scheduled)public ThrottleDefinition executorServiceRef(String executorServiceRef)
executorServiceRef in interface ExecutorServiceAwareDefinition<ThrottleDefinition>executorServiceRef - the reference id of the thread pool (must be
scheduled)public void setExpression(ExpressionDefinition expression)
setExpression in class ExpressionNodepublic Long getTimePeriodMillis()
public void setTimePeriodMillis(Long timePeriodMillis)
public Boolean getAsyncDelayed()
public void setAsyncDelayed(Boolean asyncDelayed)
public Boolean getCallerRunsWhenRejected()
public void setCallerRunsWhenRejected(Boolean callerRunsWhenRejected)
public ExecutorService getExecutorService()
getExecutorService in interface org.apache.camel.ExecutorServiceAwarepublic void setExecutorService(ExecutorService executorService)
setExecutorService in interface org.apache.camel.ExecutorServiceAwarepublic String getExecutorServiceRef()
getExecutorServiceRef in interface org.apache.camel.ExecutorServiceAwarepublic void setExecutorServiceRef(String executorServiceRef)
setExecutorServiceRef in interface org.apache.camel.ExecutorServiceAwarepublic Boolean getRejectExecution()
public void setRejectExecution(Boolean rejectExecution)
public void setCorrelationExpression(ExpressionSubElementDefinition correlationExpression)
public ExpressionSubElementDefinition getCorrelationExpression()
Apache Camel