public class PollEnricher extends ServiceSupport implements AsyncProcessor, IdAware, CamelContextAware
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
.Enricher
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
PollEnricher(Expression expression,
long timeout)
Creates a new
PollEnricher . |
Modifier and Type | Method and Description |
---|---|
protected void |
doShutdown()
Implementations override this method to perform customized shutdown.
|
protected void |
doStart()
Implementations override this method to support customized start/stop.
|
protected void |
doStop()
Implementations override this method to support customized start/stop.
|
AggregationStrategy |
getAggregationStrategy() |
int |
getCacheSize() |
CamelContext |
getCamelContext()
Get the
CamelContext |
EndpointUtilizationStatistics |
getEndpointUtilizationStatistics() |
Expression |
getExpression() |
String |
getId()
Returns the id
|
long |
getTimeout() |
boolean |
isAggregateOnException() |
boolean |
isIgnoreInvalidEndpoint() |
protected void |
preCheckPoll(Exchange exchange)
Strategy to pre check polling.
|
void |
process(Exchange exchange)
Processes the message exchange
|
boolean |
process(Exchange exchange,
AsyncCallback callback)
Enriches the input data (
exchange ) by first obtaining
additional data from an endpoint represented by an endpoint
producer and second by aggregating input data and additional
data. |
protected Endpoint |
resolveEndpoint(Exchange exchange,
Object recipient) |
void |
setAggregateOnException(boolean aggregateOnException) |
void |
setAggregationStrategy(AggregationStrategy aggregationStrategy)
Sets the aggregation strategy for this poll enricher.
|
void |
setCacheSize(int cacheSize) |
void |
setCamelContext(CamelContext camelContext)
Injects the
CamelContext |
void |
setDefaultAggregationStrategy()
Sets the default aggregation strategy for this poll enricher.
|
void |
setId(String id)
Sets the id
|
void |
setIgnoreInvalidEndpoint(boolean ignoreInvalidEndpoint) |
void |
setTimeout(long timeout)
Sets the timeout to use when polling.
|
String |
toString() |
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
public PollEnricher(Expression expression, long timeout)
PollEnricher
.expression
- expression to use to compute the endpoint to poll from.timeout
- timeout in millispublic CamelContext getCamelContext()
CamelContextAware
CamelContext
getCamelContext
in interface CamelContextAware
public void setCamelContext(CamelContext camelContext)
CamelContextAware
CamelContext
setCamelContext
in interface CamelContextAware
camelContext
- the Camel contextpublic Expression getExpression()
public EndpointUtilizationStatistics getEndpointUtilizationStatistics()
public AggregationStrategy getAggregationStrategy()
public void setAggregationStrategy(AggregationStrategy aggregationStrategy)
aggregationStrategy
- the aggregationStrategy to setpublic long getTimeout()
public void setTimeout(long timeout)
timeout
- timeout in millis.public boolean isAggregateOnException()
public void setAggregateOnException(boolean aggregateOnException)
public void setDefaultAggregationStrategy()
public int getCacheSize()
public void setCacheSize(int cacheSize)
public boolean isIgnoreInvalidEndpoint()
public void setIgnoreInvalidEndpoint(boolean ignoreInvalidEndpoint)
public void process(Exchange exchange) throws Exception
Processor
public boolean process(Exchange exchange, AsyncCallback callback)
exchange
) by first obtaining
additional data from an endpoint 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 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.process
in interface AsyncProcessor
exchange
- input data.callback
- the AsyncCallback
will be invoked when the processing of the exchange is completed.
If the exchange is completed synchronously, then the callback is also invoked synchronously.
The callback should therefore be careful of starting recursive loop.protected Endpoint resolveEndpoint(Exchange exchange, Object recipient)
protected void preCheckPoll(Exchange exchange) throws Exception
exchange
- the current exchangeException
protected void doStart() throws Exception
ServiceSupport
ServiceSupport.doStop()
for more details.doStart
in class ServiceSupport
Exception
ServiceSupport.doStop()
protected void doStop() throws Exception
ServiceSupport
ServiceSupport.doStop()
method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext
is shutting down.doStop
in class ServiceSupport
Exception
ServiceSupport.doStart()
protected void doShutdown() throws Exception
ServiceSupport
doShutdown
in class ServiceSupport
Exception
Apache Camel