Package org.apache.camel.processor
Class PollEnricher
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.AsyncProcessorSupport
org.apache.camel.processor.PollEnricher
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.AsyncProcessor,org.apache.camel.CamelContextAware,org.apache.camel.Processor,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.spi.HasCamelContext,org.apache.camel.spi.HasId,org.apache.camel.spi.IdAware,org.apache.camel.spi.RouteIdAware,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
- Direct Known Subclasses:
PollProcessor
public class PollEnricher
extends org.apache.camel.support.AsyncProcessorSupport
implements org.apache.camel.spi.IdAware, org.apache.camel.spi.RouteIdAware, org.apache.camel.CamelContextAware
A content enricher that enriches input data by first obtaining additional data from a resource represented by
an endpoint
producer and second by aggregating input data and additional data. Aggregation of input data
and additional data is delegated to an AggregationStrategy object.
Uses a PollingConsumer to obtain the additional data as opposed to Enricher that
uses a Producer.- See Also:
-
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 -
Constructor Summary
ConstructorsConstructorDescriptionPollEnricher(String uri, long timeout) Creates a newPollEnricher.PollEnricher(org.apache.camel.Expression expression, String uri, long timeout) Creates a newPollEnricher. -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoBuild()protected voiddoInit()protected voidprotected voiddoStart()protected voiddoStop()org.apache.camel.AggregationStrategyintorg.apache.camel.CamelContextorg.apache.camel.spi.EndpointUtilizationStatisticsprotected static org.apache.camel.EndpointgetExistingEndpoint(org.apache.camel.CamelContext context, Object recipient) org.apache.camel.ExpressiongetId()longgetUri()booleanbooleanbooleanprotected voidpreCheckPoll(org.apache.camel.Exchange exchange) Strategy to pre check polling.protected static ObjectprepareRecipient(org.apache.camel.Exchange exchange, Object recipient) booleanprocess(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) Enriches the input data (exchange) by first obtaining additional data from an endpoint represented by an endpointproducerand second by aggregating input data and additional data.protected static org.apache.camel.EndpointresolveEndpoint(org.apache.camel.CamelContext camelContext, Object recipient, boolean prototype) voidsetAggregateOnException(boolean aggregateOnException) voidsetAggregationStrategy(org.apache.camel.AggregationStrategy aggregationStrategy) Sets the aggregation strategy for this poll enricher.voidsetAutoStartupComponents(boolean autoStartupComponents) voidsetCacheSize(int cacheSize) voidsetCamelContext(org.apache.camel.CamelContext camelContext) voidvoidsetIgnoreInvalidEndpoint(boolean ignoreInvalidEndpoint) voidsetRouteId(String routeId) voidsetTimeout(long timeout) Sets the timeout to use when polling.voidsetVariableReceive(String variableReceive) toString()Methods inherited from class org.apache.camel.support.AsyncProcessorSupport
process, processAsyncMethods inherited from class org.apache.camel.support.service.BaseService
build, doFail, doLifecycleChange, doResume, doSuspend, fail, getInternalLock, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.camel.spi.IdAware
setGeneratedIdMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
PollEnricher
Creates a newPollEnricher.- Parameters:
expression- expression to use to compute the endpoint to poll from.uri- the endpoint to poll from.timeout- timeout in millis
-
PollEnricher
Creates a newPollEnricher.- Parameters:
uri- the endpoint to poll from.timeout- timeout in millis
-
-
Method Details
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()- Specified by:
getCamelContextin interfaceorg.apache.camel.spi.HasCamelContext
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext) - Specified by:
setCamelContextin interfaceorg.apache.camel.CamelContextAware
-
getId
- Specified by:
getIdin interfaceorg.apache.camel.spi.HasId
-
setId
- Specified by:
setIdin interfaceorg.apache.camel.spi.IdAware
-
getRouteId
- Specified by:
getRouteIdin interfaceorg.apache.camel.spi.RouteIdAware
-
setRouteId
- Specified by:
setRouteIdin interfaceorg.apache.camel.spi.RouteIdAware
-
getUri
-
getExpression
public org.apache.camel.Expression getExpression() -
getEndpointUtilizationStatistics
public org.apache.camel.spi.EndpointUtilizationStatistics getEndpointUtilizationStatistics() -
getAggregationStrategy
public org.apache.camel.AggregationStrategy getAggregationStrategy() -
setAggregationStrategy
public void setAggregationStrategy(org.apache.camel.AggregationStrategy aggregationStrategy) Sets the aggregation strategy for this poll enricher.- Parameters:
aggregationStrategy- the aggregationStrategy to set
-
getVariableReceive
-
setVariableReceive
-
getTimeout
public long getTimeout() -
setTimeout
public void setTimeout(long timeout) Sets the timeout to use when polling. Use 0 to use receiveNoWait, Use -1 to use receive with no timeout (which will block until data is available).- Parameters:
timeout- timeout in millis.
-
isAggregateOnException
public boolean isAggregateOnException() -
setAggregateOnException
public void setAggregateOnException(boolean aggregateOnException) -
getCacheSize
public int getCacheSize() -
setCacheSize
public void setCacheSize(int cacheSize) -
isIgnoreInvalidEndpoint
public boolean isIgnoreInvalidEndpoint() -
setIgnoreInvalidEndpoint
public void setIgnoreInvalidEndpoint(boolean ignoreInvalidEndpoint) -
isAutoStartupComponents
public boolean isAutoStartupComponents() -
setAutoStartupComponents
public void setAutoStartupComponents(boolean autoStartupComponents) -
process
public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) Enriches the input data (exchange) by first obtaining additional data from an endpoint represented by an endpointproducerand second by aggregating input data and additional data. Aggregation of input data and additional data is delegated to anAggregationStrategyobject set at construction time. If the message exchange with the resource endpoint fails then no aggregation will be done and the failed exchange content is copied over to the original message exchange.- Specified by:
processin interfaceorg.apache.camel.AsyncProcessor- Parameters:
exchange- input data.
-
prepareRecipient
protected static Object prepareRecipient(org.apache.camel.Exchange exchange, Object recipient) throws org.apache.camel.NoTypeConversionAvailableException - Throws:
org.apache.camel.NoTypeConversionAvailableException
-
getExistingEndpoint
protected static org.apache.camel.Endpoint getExistingEndpoint(org.apache.camel.CamelContext context, Object recipient) -
resolveEndpoint
protected static org.apache.camel.Endpoint resolveEndpoint(org.apache.camel.CamelContext camelContext, Object recipient, boolean prototype) -
preCheckPoll
Strategy to pre check polling. Is currently used to prevent doing poll enrich from a file based endpoint when the current route also started from a file based endpoint as that is not currently supported.- Parameters:
exchange- the current exchange- Throws:
Exception
-
toString
-
doBuild
- Overrides:
doBuildin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
doInit
- Overrides:
doInitin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
doStart
- Overrides:
doStartin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
doStop
- Overrides:
doStopin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
doShutdown
- Overrides:
doShutdownin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-