@Metadata(label="eip,endpoint,routing") public class DynamicRouterDefinition<Type extends ProcessorDefinition<Type>> extends ExpressionNode
| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_DELIMITER |
inheritErrorHandler, log| Constructor and Description |
|---|
DynamicRouterDefinition() |
DynamicRouterDefinition(org.apache.camel.Expression expression) |
| Modifier and Type | Method and Description |
|---|---|
DynamicRouterDefinition<Type> |
cacheSize(int cacheSize)
Sets the maximum size used by the
ProducerCache which is used to cache and
reuse producers when using this dynamic router, when uris are reused. |
DynamicRouterDefinition<Type> |
cacheSize(String cacheSize)
Sets the maximum size used by the
ProducerCache which is used to cache and
reuse producers when using this dynamic router, when uris are reused. |
Type |
end()
Ends the current block
|
String |
getCacheSize() |
String |
getIgnoreInvalidEndpoints() |
String |
getLabel()
Returns a label to describe this node such as the expression if some kind
of expression node
|
List<ProcessorDefinition<?>> |
getOutputs() |
String |
getShortName() |
String |
getUriDelimiter() |
DynamicRouterDefinition<Type> |
ignoreInvalidEndpoints()
Ignore the invalidate endpoint exception when try to create a producer
with that endpoint
|
void |
setCacheSize(String cacheSize) |
void |
setExpression(ExpressionDefinition expression)
Expression to call that returns the endpoint(s) to route to in the
dynamic routing.
|
void |
setIgnoreInvalidEndpoints(String ignoreInvalidEndpoints) |
void |
setUriDelimiter(String uriDelimiter) |
String |
toString() |
DynamicRouterDefinition<Type> |
uriDelimiter(String uriDelimiter)
Sets the uri delimiter to use
|
configureChild, getExpression, id, preCreateProcessor, setExpressionaddInterceptStrategy, addOutput, aggregate, aggregate, aggregate, aggregate, bean, bean, bean, bean, bean, bean, bean, bean, bean, bean, bean, choice, circuitBreaker, claimCheck, claimCheck, claimCheck, claimCheck, clearOutput, convertBodyTo, convertBodyTo, delay, delay, delay, doTry, dynamicRouter, dynamicRouter, endChoice, endCircuitBreaker, endDoTry, endParent, endRest, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, filter, filter, filter, filter, getIndex, getInterceptStrategies, getParent, 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, 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, recipientList, recipientList, recipientList, recipientList, removeHeader, removeHeaders, removeHeaders, removeProperties, removeProperties, removeProperty, resequence, resequence, rollback, rollback, routeDescription, routeGroup, routeId, routingSlip, routingSlip, routingSlip, saga, sample, sample, sample, sample, script, script, serviceCall, serviceCall, serviceCall, setBody, setBody, setBody, setExchangePattern, setHeader, setHeader, setHeader, setInheritErrorHandler, setParent, setProperty, 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, 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, setIdpublic static final String DEFAULT_DELIMITER
public DynamicRouterDefinition()
public DynamicRouterDefinition(org.apache.camel.Expression expression)
public String getShortName()
public String getLabel()
ProcessorDefinitiongetLabel in interface org.apache.camel.NamedNodegetLabel in class ExpressionNodepublic List<ProcessorDefinition<?>> getOutputs()
getOutputs in class ExpressionNodepublic void setExpression(ExpressionDefinition expression)
setExpression in class ExpressionNodepublic void setUriDelimiter(String uriDelimiter)
public String getUriDelimiter()
public void setIgnoreInvalidEndpoints(String ignoreInvalidEndpoints)
public String getIgnoreInvalidEndpoints()
public String getCacheSize()
public void setCacheSize(String cacheSize)
public Type end()
ProcessorDefinitionend in class ProcessorDefinition<ExpressionNode>public DynamicRouterDefinition<Type> ignoreInvalidEndpoints()
public DynamicRouterDefinition<Type> uriDelimiter(String uriDelimiter)
uriDelimiter - the delimiterpublic DynamicRouterDefinition<Type> cacheSize(int cacheSize)
ProducerCache which is used to cache and
reuse producers when using this dynamic router, when uris are reused.
Beware that when using dynamic endpoints then it affects how well the cache can be utilized.
If each dynamic endpoint is unique then its best to turn of caching by setting this to -1, which
allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped
and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints
are stored in memory in the caches.
However if there are a high degree of dynamic endpoints that have been used before, then it can
benefit to use the cache to reuse both producers and endpoints and therefore the cache size
can be set accordingly or rely on the default size (1000).
If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size
can help reduce memory usage to avoid storing too many non frequent used producers.cacheSize - the cache size, use 0 for default cache size,
or -1 to turn cache off.public DynamicRouterDefinition<Type> cacheSize(String cacheSize)
ProducerCache which is used to cache and
reuse producers when using this dynamic router, when uris are reused.
Beware that when using dynamic endpoints then it affects how well the cache can be utilized.
If each dynamic endpoint is unique then its best to turn of caching by setting this to -1, which
allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped
and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints
are stored in memory in the caches.
However if there are a high degree of dynamic endpoints that have been used before, then it can
benefit to use the cache to reuse both producers and endpoints and therefore the cache size
can be set accordingly or rely on the default size (1000).
If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size
can help reduce memory usage to avoid storing too many non frequent used producers.cacheSize - the cache size, use 0 for default cache size,
or -1 to turn cache off.Apache Camel