Class FileConsumer

  • 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.resume.ResumeAware<org.apache.camel.resume.ResumeStrategy>, 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 FileConsumer
    extends GenericFileConsumer<File>
    implements org.apache.camel.resume.ResumeAware<org.apache.camel.resume.ResumeStrategy>
    File consumer.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      String adapterFactoryService()  
      static GenericFile<File> asGenericFile​(String endpointPath, File file, String charset, boolean probeContentType)
      Creates a new GenericFile based on the given file.
      protected org.apache.camel.Exchange createExchange​(GenericFile<File> file)
      Creates the exchange from the polled file
      protected void doStart()  
      FileEndpoint getEndpoint()  
      org.apache.camel.resume.ResumeStrategy getResumeStrategy()  
      protected boolean isMatched​(GenericFile<File> file, String doneFileName, File[] files)
      Strategy to perform file matching based on endpoint configuration in terms of done file name.
      protected boolean pollDirectory​(String fileName, List<GenericFile<File>> fileList, int depth)
      Polls the given directory for files to process
      void setResumeStrategy​(org.apache.camel.resume.ResumeStrategy resumeStrategy)  
      protected void updateFileHeaders​(GenericFile<File> file, org.apache.camel.Message message)
      Updates the information on Message after we have acquired read-lock and can begin process the file.
      • 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, doBuild, doShutdown, 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, 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, toString
      • 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
    • Method Detail

      • pollDirectory

        protected boolean pollDirectory​(String fileName,
                                        List<GenericFile<File>> fileList,
                                        int depth)
        Description copied from class: GenericFileConsumer
        Polls the given directory for files to process
        Specified by:
        pollDirectory in class GenericFileConsumer<File>
        Parameters:
        fileName - current directory or file
        fileList - current list of files gathered
        depth - the current depth of the directory (will start from 0)
        Returns:
        whether or not to continue polling, false means the maxMessagesPerPoll limit has been hit
      • isMatched

        protected boolean isMatched​(GenericFile<File> file,
                                    String doneFileName,
                                    File[] files)
        Description copied from class: GenericFileConsumer
        Strategy to perform file matching based on endpoint configuration in terms of done file name.
        Specified by:
        isMatched in class GenericFileConsumer<File>
        Parameters:
        file - the file
        doneFileName - the done file name (without any paths)
        files - files in the directory
        Returns:
        true if the file is matched, false if not
      • asGenericFile

        public static GenericFile<File> asGenericFile​(String endpointPath,
                                                      File file,
                                                      String charset,
                                                      boolean probeContentType)
        Creates a new GenericFile based on the given file.
        Parameters:
        endpointPath - the starting directory the endpoint was configured with
        file - the source file
        probeContentType - whether to probe the content type of the file or not
        Returns:
        wrapped as a GenericFile
      • updateFileHeaders

        protected void updateFileHeaders​(GenericFile<File> file,
                                         org.apache.camel.Message message)
        Description copied from class: GenericFileConsumer
        Updates the information on Message after we have acquired read-lock and can begin process the file.
        Specified by:
        updateFileHeaders in class GenericFileConsumer<File>
        Parameters:
        file - the file
        message - the Camel message to update its headers
      • getEndpoint

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

        public org.apache.camel.resume.ResumeStrategy getResumeStrategy()
        Specified by:
        getResumeStrategy in interface org.apache.camel.resume.ResumeAware<org.apache.camel.resume.ResumeStrategy>
      • setResumeStrategy

        public void setResumeStrategy​(org.apache.camel.resume.ResumeStrategy resumeStrategy)
        Specified by:
        setResumeStrategy in interface org.apache.camel.resume.ResumeAware<org.apache.camel.resume.ResumeStrategy>
      • adapterFactoryService

        public String adapterFactoryService()
        Specified by:
        adapterFactoryService in interface org.apache.camel.resume.ResumeAware<org.apache.camel.resume.ResumeStrategy>