Package org.apache.camel.processor
Class Enricher
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.AsyncProcessorSupport
-
- org.apache.camel.processor.Enricher
-
- 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.HasId
,org.apache.camel.spi.IdAware
,org.apache.camel.spi.RouteIdAware
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
public class Enricher 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 endpointproducer
and second by aggregating input data and additional data. Aggregation of input data and additional data is delegated to anAggregationStrategy
object. Uses aProducer
to obtain the additional data as opposed toPollEnricher
that uses aPollingConsumer
.- See Also:
PollEnricher
-
-
Constructor Summary
Constructors Constructor Description Enricher(org.apache.camel.Expression expression)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.camel.Exchange
createResourceExchange(org.apache.camel.Exchange source, org.apache.camel.ExchangePattern pattern)
Creates a newDefaultExchange
instance from the givenexchange
.protected void
doStart()
protected void
doStop()
org.apache.camel.AggregationStrategy
getAggregationStrategy()
int
getCacheSize()
org.apache.camel.CamelContext
getCamelContext()
org.apache.camel.spi.EndpointUtilizationStatistics
getEndpointUtilizationStatistics()
protected static org.apache.camel.Endpoint
getExistingEndpoint(org.apache.camel.Exchange exchange, Object recipient)
org.apache.camel.Expression
getExpression()
String
getId()
String
getRouteId()
boolean
isAggregateOnException()
boolean
isIgnoreInvalidEndpoint()
boolean
isShareUnitOfWork()
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.Exchange exchange, Object recipient, boolean prototype)
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()
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, 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
-
-
-
-
Method Detail
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()
- Specified by:
getCamelContext
in interfaceorg.apache.camel.CamelContextAware
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext)
- Specified by:
setCamelContext
in interfaceorg.apache.camel.CamelContextAware
-
getId
public String getId()
- Specified by:
getId
in interfaceorg.apache.camel.spi.HasId
-
setId
public void setId(String id)
- Specified by:
setId
in interfaceorg.apache.camel.spi.IdAware
-
getRouteId
public String getRouteId()
- Specified by:
getRouteId
in interfaceorg.apache.camel.spi.RouteIdAware
-
setRouteId
public void setRouteId(String routeId)
- Specified by:
setRouteId
in interfaceorg.apache.camel.spi.RouteIdAware
-
getExpression
public org.apache.camel.Expression getExpression()
-
getEndpointUtilizationStatistics
public org.apache.camel.spi.EndpointUtilizationStatistics getEndpointUtilizationStatistics()
-
setAggregationStrategy
public void setAggregationStrategy(org.apache.camel.AggregationStrategy aggregationStrategy)
-
getAggregationStrategy
public org.apache.camel.AggregationStrategy getAggregationStrategy()
-
isAggregateOnException
public boolean isAggregateOnException()
-
setAggregateOnException
public void setAggregateOnException(boolean aggregateOnException)
-
isShareUnitOfWork
public boolean isShareUnitOfWork()
-
setShareUnitOfWork
public void setShareUnitOfWork(boolean shareUnitOfWork)
-
getCacheSize
public int getCacheSize()
-
setCacheSize
public void setCacheSize(int cacheSize)
-
isIgnoreInvalidEndpoint
public boolean isIgnoreInvalidEndpoint()
-
setIgnoreInvalidEndpoint
public void setIgnoreInvalidEndpoint(boolean ignoreInvalidEndpoint)
-
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.Exchange exchange, Object recipient)
-
resolveEndpoint
protected static org.apache.camel.Endpoint resolveEndpoint(org.apache.camel.Exchange exchange, Object recipient, boolean prototype)
-
createResourceExchange
protected org.apache.camel.Exchange createResourceExchange(org.apache.camel.Exchange source, org.apache.camel.ExchangePattern pattern)
Creates a newDefaultExchange
instance from the givenexchange
. The resulting exchange's pattern is defined bypattern
.- Parameters:
source
- exchange to copy from.pattern
- exchange pattern to set.- Returns:
- created exchange.
-
doStart
protected void doStart() throws Exception
- Overrides:
doStart
in classorg.apache.camel.support.AsyncProcessorSupport
- Throws:
Exception
-
-