Example usage for org.springframework.integration.file FileReadingMessageSource FileReadingMessageSource

List of usage examples for org.springframework.integration.file FileReadingMessageSource FileReadingMessageSource

Introduction

In this page you can find the example usage for org.springframework.integration.file FileReadingMessageSource FileReadingMessageSource.

Prototype

public FileReadingMessageSource(@Nullable Comparator<File> receptionOrderComparator) 

Source Link

Document

Creates a FileReadingMessageSource with a PriorityBlockingQueue ordered with the passed in Comparator .

Usage

From source file:org.springframework.integration.file.config.FileReadingMessageSourceFactoryBean.java

private void initSource() {
    synchronized (this.initializationMonitor) {
        if (this.source != null) {
            return;
        }/*from  w  w w .  jav  a 2  s .  co m*/
        boolean comparatorSet = this.comparator != null;
        boolean queueSizeSet = this.queueSize != null;
        if (comparatorSet) {
            if (queueSizeSet) {
                logger.warn("'comparator' and 'queueSize' are mutually exclusive. Ignoring 'queueSize'");
            }
            this.source = new FileReadingMessageSource(this.comparator);
        } else if (queueSizeSet) {
            this.source = new FileReadingMessageSource(queueSize);
        } else {
            this.source = new FileReadingMessageSource();
        }
        this.source.setDirectory(this.directory);
        if (this.scanner != null) {
            this.source.setScanner(this.scanner);
        }
        if (this.filter != null) {
            if (this.locker == null) {
                this.source.setFilter(this.filter);
            } else {
                CompositeFileListFilter<File> compositeFileListFilter = new CompositeFileListFilter<File>();
                compositeFileListFilter.addFilter(this.filter);
                compositeFileListFilter.addFilter(this.locker);
                this.source.setFilter(compositeFileListFilter);
                this.source.setLocker(locker);
            }
        }
        if (this.scanEachPoll != null) {
            this.source.setScanEachPoll(this.scanEachPoll);
        }
        if (this.autoCreateDirectory != null) {
            this.source.setAutoCreateDirectory(this.autoCreateDirectory);
        }
        this.source.afterPropertiesSet();
    }
}