public class PollEnricher extends ServiceSupport implements AsyncProcessor, EndpointAware, IdAware
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.Enrichershutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending| Constructor and Description |
|---|
PollEnricher(AggregationStrategy aggregationStrategy,
PollingConsumer consumer,
long timeout)
Creates a new
PollEnricher. |
PollEnricher(PollingConsumer consumer)
Creates a new
PollEnricher. |
| Modifier and Type | Method and Description |
|---|---|
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() |
Endpoint |
getEndpoint()
Gets the endpoint associated with an object.
|
String |
getId()
Returns the id
|
long |
getTimeout() |
boolean |
isAggregateOnException() |
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. |
void |
setAggregateOnException(boolean aggregateOnException) |
void |
setAggregationStrategy(AggregationStrategy aggregationStrategy)
Sets the aggregation strategy for this poll enricher.
|
void |
setDefaultAggregationStrategy()
Sets the default aggregation strategy for this poll enricher.
|
void |
setId(String id)
Sets the id
|
void |
setTimeout(long timeout)
Sets the timeout to use when polling.
|
String |
toString() |
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendpublic PollEnricher(PollingConsumer consumer)
PollEnricher. The default aggregation strategy is to
copy the additional data obtained from the enricher's resource over the
input data. When using the copy aggregation strategy the enricher
degenerates to a normal transformer.consumer - consumer to resource endpoint.public PollEnricher(AggregationStrategy aggregationStrategy, PollingConsumer consumer, long timeout)
PollEnricher.aggregationStrategy - aggregation strategy to aggregate input data and additional data.consumer - consumer to resource endpoint.timeout - timeout in millispublic Endpoint getEndpoint()
EndpointAwareProducer
or for consuming from for components like Consumer or RoutegetEndpoint in interface EndpointAwarepublic 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 void process(Exchange exchange) throws Exception
Processorpublic 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 AsyncProcessorexchange - 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 void preCheckPoll(Exchange exchange) throws Exception
exchange - the current exchangeExceptionprotected void doStart()
throws Exception
ServiceSupportServiceSupport.doStop() for more details.doStart in class ServiceSupportExceptionServiceSupport.doStop()protected void doStop()
throws Exception
ServiceSupportServiceSupport.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 ServiceSupportExceptionServiceSupport.doStart()Apache Camel