Class AWS2S3Consumer

  • All Implemented Interfaces:
    AutoCloseable, Runnable, org.apache.camel.BatchConsumer, org.apache.camel.Consumer, org.apache.camel.EndpointAware, org.apache.camel.health.HealthCheckAware, org.apache.camel.PollingConsumerPollingStrategy, org.apache.camel.RouteAware, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.RouteIdAware, org.apache.camel.spi.ShutdownAware, org.apache.camel.spi.ShutdownPrepared, org.apache.camel.StatefulService, org.apache.camel.Suspendable, org.apache.camel.SuspendableService

    public class AWS2S3Consumer
    extends org.apache.camel.support.ScheduledBatchPollingConsumer
    A Consumer of messages from the Amazon Web Service Simple Storage Service AWS S3
    • Field Summary

      • Fields inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer

        maxMessagesPerPoll, pendingExchanges, shutdownRunningTask
      • 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
      AWS2S3Consumer​(AWS2S3Endpoint endpoint, org.apache.camel.Processor processor)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.camel.Exchange createExchange​(org.apache.camel.ExchangePattern pattern, software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> s3Object, String key)  
      org.apache.camel.Exchange createExchange​(software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> s3Object, String key)  
      protected Queue<org.apache.camel.Exchange> createExchanges​(List<software.amazon.awssdk.services.s3.model.S3Object> s3ObjectSummaries)  
      protected Queue<org.apache.camel.Exchange> createExchanges​(software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> s3Object, String key)  
      protected void doStart()  
      protected software.amazon.awssdk.services.s3.S3Client getAmazonS3Client()  
      protected AWS2S3Configuration getConfiguration()  
      AWS2S3Endpoint getEndpoint()  
      protected boolean includeS3Object​(software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> s3Object)
      Decide whether to include the S3Objects in the results
      protected int poll()  
      int processBatch​(Queue<Object> exchanges)  
      protected void processCommit​(org.apache.camel.Exchange exchange)
      Strategy to delete the message after being processed.
      protected void processRollback​(org.apache.camel.Exchange exchange)
      Strategy when processing the exchange failed.
      String toString()  
      • Methods inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer

        deferShutdown, getMaxMessagesPerPoll, getPendingExchangesSize, isBatchAllowed, prepareShutdown, processEmptyMessage, setMaxMessagesPerPoll
      • Methods inherited from class org.apache.camel.support.ScheduledPollConsumer

        addLastErrorDetail, afterConfigureScheduler, afterPoll, beforePoll, doBuild, doInit, doShutdown, doStop, doSuspend, getBackoffCounter, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getCounter, getDelay, getErrorCounter, getInitialDelay, getLastError, getLastErrorDetails, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getSuccessCounter, getTimeUnit, initialHealthCheckState, isFirstPollDone, isGreedy, isPollAllowed, isPolling, isSchedulerStarted, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, onInit, run, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay, startScheduler
      • Methods inherited from class org.apache.camel.support.DefaultConsumer

        createExchange, createUoW, defaultConsumerCallback, doneUoW, getAsyncProcessor, getExceptionHandler, getHealthCheck, getProcessor, getRoute, getRouteId, handleException, handleException, releaseExchange, setExceptionHandler, setHealthCheck, setRoute, setRouteId
      • Methods inherited from class org.apache.camel.support.service.BaseService

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

        createExchange, defaultConsumerCallback, getProcessor, releaseExchange
      • Methods inherited from interface org.apache.camel.health.HealthCheckAware

        getHealthCheck, setHealthCheck
      • 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

      • AWS2S3Consumer

        public AWS2S3Consumer​(AWS2S3Endpoint endpoint,
                              org.apache.camel.Processor processor)
    • Method Detail

      • doStart

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

        protected int poll()
                    throws Exception
        Specified by:
        poll in class org.apache.camel.support.ScheduledPollConsumer
        Throws:
        Exception
      • createExchanges

        protected Queue<org.apache.camel.Exchange> createExchanges​(software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> s3Object,
                                                                   String key)
      • createExchanges

        protected Queue<org.apache.camel.Exchange> createExchanges​(List<software.amazon.awssdk.services.s3.model.S3Object> s3ObjectSummaries)
      • includeS3Object

        protected boolean includeS3Object​(software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> s3Object)
        Decide whether to include the S3Objects in the results
        Parameters:
        s3Object -
        Returns:
        true to include, false to exclude
      • processCommit

        protected void processCommit​(org.apache.camel.Exchange exchange)
        Strategy to delete the message after being processed.
        Parameters:
        exchange - the exchange
      • processRollback

        protected void processRollback​(org.apache.camel.Exchange exchange)
        Strategy when processing the exchange failed.
        Parameters:
        exchange - the exchange
      • getAmazonS3Client

        protected software.amazon.awssdk.services.s3.S3Client getAmazonS3Client()
      • getEndpoint

        public AWS2S3Endpoint getEndpoint()
        Specified by:
        getEndpoint in interface org.apache.camel.EndpointAware
        Overrides:
        getEndpoint in class org.apache.camel.support.DefaultConsumer
      • createExchange

        public org.apache.camel.Exchange createExchange​(software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> s3Object,
                                                        String key)
      • createExchange

        public org.apache.camel.Exchange createExchange​(org.apache.camel.ExchangePattern pattern,
                                                        software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> s3Object,
                                                        String key)
      • toString

        public String toString()
        Overrides:
        toString in class org.apache.camel.support.DefaultConsumer