Class 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 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 Producer to obtain the additional data as opposed to PollEnricher that uses a PollingConsumer.

    See Also:
    PollEnricher
    • Field Summary

      • Fields inherited from class org.apache.camel.support.service.BaseService

        BUILDED, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTINGDOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
    • 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 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()  
      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 endpoint producer 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.AsyncProcessorSupport

        process, processAsync
      • 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 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 Detail

      • Enricher

        public Enricher​(org.apache.camel.Expression expression)
    • Method Detail

      • getCamelContext

        public org.apache.camel.CamelContext getCamelContext()
        Specified by:
        getCamelContext in interface org.apache.camel.CamelContextAware
      • setCamelContext

        public void setCamelContext​(org.apache.camel.CamelContext camelContext)
        Specified by:
        setCamelContext in interface org.apache.camel.CamelContextAware
      • getId

        public String getId()
        Specified by:
        getId in interface org.apache.camel.spi.HasId
      • setId

        public void setId​(String id)
        Specified by:
        setId in interface org.apache.camel.spi.IdAware
      • getRouteId

        public String getRouteId()
        Specified by:
        getRouteId in interface org.apache.camel.spi.RouteIdAware
      • setRouteId

        public void setRouteId​(String routeId)
        Specified by:
        setRouteId in interface org.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 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.
        Specified by:
        process in interface org.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 new DefaultExchange instance from the given exchange. The resulting exchange's pattern is defined by pattern.
        Parameters:
        source - exchange to copy from.
        pattern - exchange pattern to set.
        Returns:
        created exchange.
      • doStart

        protected void doStart()
                        throws Exception
        Overrides:
        doStart in class org.apache.camel.support.AsyncProcessorSupport
        Throws:
        Exception
      • doStop

        protected void doStop()
                       throws Exception
        Overrides:
        doStop in class org.apache.camel.support.AsyncProcessorSupport
        Throws:
        Exception