Class PollEnricher

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.AsyncProcessorSupport
org.apache.camel.processor.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.HasCamelContext, 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:
  • 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
  • Constructor Summary

    Constructors
    Constructor
    Description
    PollEnricher(String destination, long timeout)
    Creates a new PollEnricher.
    PollEnricher(org.apache.camel.Expression expression, long timeout)
    Creates a new PollEnricher.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected void
     
    protected void
     
    protected void
     
    protected void
     
    org.apache.camel.AggregationStrategy
     
    int
     
    org.apache.camel.CamelContext
     
    org.apache.camel.spi.EndpointUtilizationStatistics
     
    protected static org.apache.camel.Endpoint
    getExistingEndpoint(org.apache.camel.CamelContext context, Object recipient)
     
    org.apache.camel.Expression
     
     
     
    long
     
    boolean
     
    boolean
     
    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
     
    void
    setIgnoreInvalidEndpoint(boolean ignoreInvalidEndpoint)
     
    void
    setRouteId(String routeId)
     
    void
    setTimeout(long timeout)
    Sets the timeout to use when polling.
     

    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    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 Details

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

    • getCamelContext

      public org.apache.camel.CamelContext getCamelContext()
      Specified by:
      getCamelContext in interface org.apache.camel.spi.HasCamelContext
    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • 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.service.BaseService
      Throws:
      Exception
    • doStop

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

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