public class Enricher
extends org.apache.camel.support.AsyncProcessorSupport
implements org.apache.camel.spi.IdAware, org.apache.camel.spi.RouteIdAware, org.apache.camel.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 Producer
to obtain the additional data as opposed to PollEnricher
that uses a PollingConsumer
.PollEnricher
Constructor and Description |
---|
Enricher(org.apache.camel.Expression expression) |
Modifier and Type | Method and Description |
---|---|
protected org.apache.camel.Exchange |
createResourceExchange(org.apache.camel.Exchange source,
org.apache.camel.ExchangePattern pattern)
Creates a new
DefaultExchange instance from the given
exchange . |
protected void |
doStart() |
protected void |
doStop() |
org.apache.camel.AggregationStrategy |
getAggregationStrategy() |
int |
getCacheSize() |
org.apache.camel.CamelContext |
getCamelContext() |
org.apache.camel.spi.EndpointUtilizationStatistics |
getEndpointUtilizationStatistics() |
org.apache.camel.Expression |
getExpression() |
String |
getId() |
String |
getRouteId() |
boolean |
isAggregateOnException() |
boolean |
isIgnoreInvalidEndpoint() |
boolean |
isShareUnitOfWork() |
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 endpoint
producer and second by aggregating input data and additional
data. |
protected org.apache.camel.Endpoint |
resolveEndpoint(org.apache.camel.Exchange exchange,
Object recipient) |
void |
setAggregateOnException(boolean aggregateOnException) |
void |
setAggregationStrategy(org.apache.camel.AggregationStrategy aggregationStrategy) |
void |
setCacheSize(int cacheSize) |
void |
setCamelContext(org.apache.camel.CamelContext camelContext) |
void |
setId(String id) |
void |
setIgnoreInvalidEndpoint(boolean ignoreInvalidEndpoint) |
void |
setRouteId(String routeId) |
void |
setShareUnitOfWork(boolean shareUnitOfWork) |
String |
toString() |
build, doBuild, doInit, doResume, doShutdown, doSuspend, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
public org.apache.camel.CamelContext getCamelContext()
getCamelContext
in interface org.apache.camel.CamelContextAware
public void setCamelContext(org.apache.camel.CamelContext camelContext)
setCamelContext
in interface org.apache.camel.CamelContextAware
public String getId()
getId
in interface org.apache.camel.spi.HasId
public void setId(String id)
setId
in interface org.apache.camel.spi.IdAware
public String getRouteId()
getRouteId
in interface org.apache.camel.spi.RouteIdAware
public void setRouteId(String routeId)
setRouteId
in interface org.apache.camel.spi.RouteIdAware
public org.apache.camel.Expression getExpression()
public org.apache.camel.spi.EndpointUtilizationStatistics getEndpointUtilizationStatistics()
public void setAggregationStrategy(org.apache.camel.AggregationStrategy aggregationStrategy)
public org.apache.camel.AggregationStrategy getAggregationStrategy()
public boolean isAggregateOnException()
public void setAggregateOnException(boolean aggregateOnException)
public boolean isShareUnitOfWork()
public void setShareUnitOfWork(boolean shareUnitOfWork)
public int getCacheSize()
public void setCacheSize(int cacheSize)
public boolean isIgnoreInvalidEndpoint()
public void setIgnoreInvalidEndpoint(boolean ignoreInvalidEndpoint)
public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.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 org.apache.camel.AsyncProcessor
exchange
- input data.protected org.apache.camel.Endpoint resolveEndpoint(org.apache.camel.Exchange exchange, Object recipient)
protected org.apache.camel.Exchange createResourceExchange(org.apache.camel.Exchange source, org.apache.camel.ExchangePattern pattern)
DefaultExchange
instance from the given
exchange
. The resulting exchange's pattern is defined by
pattern
.source
- exchange to copy from.pattern
- exchange pattern to set.protected void doStart() throws Exception
doStart
in class org.apache.camel.support.AsyncProcessorSupport
Exception
Apache Camel