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
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
ConstructorDescriptionPollEnricher
(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 void
doBuild()
protected void
doInit()
protected void
protected void
doStart()
protected void
doStop()
org.apache.camel.AggregationStrategy
int
org.apache.camel.CamelContext
org.apache.camel.spi.EndpointUtilizationStatistics
protected static org.apache.camel.Endpoint
getExistingEndpoint
(org.apache.camel.CamelContext context, Object recipient) org.apache.camel.Expression
getId()
long
boolean
boolean
boolean
protected void
preCheckPoll
(org.apache.camel.Exchange exchange) Strategy to pre check polling.protected static Object
prepareRecipient
(org.apache.camel.Exchange exchange, Object recipient) 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 endpointproducer
and second by aggregating input data and additional data.protected static org.apache.camel.Endpoint
resolveEndpoint
(org.apache.camel.CamelContext camelContext, Object recipient, boolean prototype) void
setAggregateOnException
(boolean aggregateOnException) void
setAggregationStrategy
(org.apache.camel.AggregationStrategy aggregationStrategy) Sets the aggregation strategy for this poll enricher.void
setAutoStartupComponents
(boolean autoStartupComponents) void
setCacheSize
(int cacheSize) void
setCamelContext
(org.apache.camel.CamelContext camelContext) void
void
setIgnoreInvalidEndpoint
(boolean ignoreInvalidEndpoint) void
setRouteId
(String routeId) void
setTimeout
(long timeout) Sets the timeout to use when polling.void
setVariableReceive
(String variableReceive) toString()
Methods inherited from class org.apache.camel.support.AsyncProcessorSupport
process, processAsync
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, wait, wait, wait
Methods inherited from interface org.apache.camel.spi.IdAware
setGeneratedId
Methods inherited from interface org.apache.camel.Service
build, close, init, start, stop
Methods inherited from interface org.apache.camel.ShutdownableService
shutdown
Methods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
Methods 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:
getCamelContext
in interfaceorg.apache.camel.spi.HasCamelContext
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext) - Specified by:
setCamelContext
in interfaceorg.apache.camel.CamelContextAware
-
getId
- Specified by:
getId
in interfaceorg.apache.camel.spi.HasId
-
setId
- Specified by:
setId
in interfaceorg.apache.camel.spi.IdAware
-
getRouteId
- Specified by:
getRouteId
in interfaceorg.apache.camel.spi.RouteIdAware
-
setRouteId
- Specified by:
setRouteId
in interfaceorg.apache.camel.spi.RouteIdAware
-
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 endpointproducer
and second by aggregating input data and additional data. Aggregation of input data and additional data is delegated to anAggregationStrategy
object 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:
process
in 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:
doBuild
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doInit
- Overrides:
doInit
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doStart
- Overrides:
doStart
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doShutdown
- Overrides:
doShutdown
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-