Class PollEnricher

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

    See Also:
    Enricher
    • Field Summary

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

        BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doBuild()  
      protected void doInit()  
      protected void doShutdown()  
      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.CamelContext context, Object recipient)  
      org.apache.camel.Expression getExpression()  
      String getId()  
      String getRouteId()  
      long getTimeout()  
      boolean isAggregateOnException()  
      boolean isIgnoreInvalidEndpoint()  
      protected void preCheckPoll​(org.apache.camel.Exchange exchange)
      Strategy to pre check polling.
      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.CamelContext camelContext, Object recipient, boolean prototype)  
      void setAggregateOnException​(boolean aggregateOnException)  
      void setAggregationStrategy​(org.apache.camel.AggregationStrategy aggregationStrategy)
      Sets the aggregation strategy for this poll enricher.
      void setCacheSize​(int cacheSize)  
      void setCamelContext​(org.apache.camel.CamelContext camelContext)  
      void setId​(String id)  
      void setIgnoreInvalidEndpoint​(boolean ignoreInvalidEndpoint)  
      void setRouteId​(String routeId)  
      void setTimeout​(long timeout)
      Sets the timeout to use when polling.
      String toString()  
      • Methods inherited from class org.apache.camel.support.AsyncProcessorSupport

        process, processAsync
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doFail, doLifecycleChange, doResume, 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.spi.IdAware

        setGeneratedId
      • 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

      • PollEnricher

        public PollEnricher​(org.apache.camel.Expression expression,
                            long timeout)
        Creates a new PollEnricher.
        Parameters:
        expression - expression to use to compute the endpoint to poll from.
        timeout - timeout in millis
      • PollEnricher

        public PollEnricher​(String destination,
                            long timeout)
        Creates a new PollEnricher.
        Parameters:
        destination - the endpoint to poll from.
        timeout - timeout in millis
    • 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()
      • getAggregationStrategy

        public org.apache.camel.AggregationStrategy getAggregationStrategy()
      • setAggregationStrategy

        public void setAggregationStrategy​(org.apache.camel.AggregationStrategy aggregationStrategy)
        Sets the aggregation strategy for this poll enricher.
        Parameters:
        aggregationStrategy - the aggregationStrategy to set
      • getTimeout

        public long getTimeout()
      • setTimeout

        public void setTimeout​(long timeout)
        Sets the timeout to use when polling.

        Use 0 to use receiveNoWait, Use -1 to use receive with no timeout (which will block until data is available).

        Parameters:
        timeout - timeout in millis.
      • isAggregateOnException

        public boolean isAggregateOnException()
      • setAggregateOnException

        public void setAggregateOnException​(boolean aggregateOnException)
      • 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.CamelContext context,
                                                                       Object recipient)
      • resolveEndpoint

        protected static org.apache.camel.Endpoint resolveEndpoint​(org.apache.camel.CamelContext camelContext,
                                                                   Object recipient,
                                                                   boolean prototype)
      • preCheckPoll

        protected void preCheckPoll​(org.apache.camel.Exchange exchange)
                             throws Exception
        Strategy to pre check polling.

        Is currently used to prevent doing poll enrich from a file based endpoint when the current route also started from a file based endpoint as that is not currently supported.

        Parameters:
        exchange - the current exchange
        Throws:
        Exception
      • doBuild

        protected void doBuild()
                        throws Exception
        Overrides:
        doBuild in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • doInit

        protected void doInit()
                       throws Exception
        Overrides:
        doInit in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • 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
      • doShutdown

        protected void doShutdown()
                           throws Exception
        Overrides:
        doShutdown in class org.apache.camel.support.service.BaseService
        Throws:
        Exception