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

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

Introduction

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

Prototype

public void setDirectory(File directory) 

Source Link

Document

Specify the input directory.

Usage

From source file:eu.openanalytics.rsb.component.DirectoryDepositHandler.java

@PostConstruct
public void setupChannelAdapters() {
    final List<DepositDirectoryConfiguration> depositDirectoryConfigurations = getConfiguration()
            .getDepositRootDirectories();

    if ((depositDirectoryConfigurations == null) || (depositDirectoryConfigurations.isEmpty())) {
        return;/*w  w w . j a  v  a2  s  . co m*/
    }

    final NioFileLocker nioFileLocker = new NioFileLocker();

    for (final DepositDirectoryConfiguration depositDirectoryConfiguration : depositDirectoryConfigurations) {
        final PeriodicTrigger fileTrigger = new PeriodicTrigger(
                depositDirectoryConfiguration.getPollingPeriod(), TimeUnit.MILLISECONDS);
        fileTrigger.setInitialDelay(5000L);

        final File depositRootDirectory = depositDirectoryConfiguration.getRootDirectory();

        final FileReadingMessageSource fileMessageSource = new FileReadingMessageSource();
        fileMessageSource.setAutoCreateDirectory(true);
        fileMessageSource.setBeanFactory(beanFactory);
        fileMessageSource.setBeanName("rsb-deposit-dir-ms-" + depositRootDirectory.getPath());
        fileMessageSource.setDirectory(new File(depositRootDirectory, Configuration.DEPOSIT_JOBS_SUBDIR));
        fileMessageSource.setFilter(zipJobFilter);
        fileMessageSource.setLocker(nioFileLocker);
        fileMessageSource.afterPropertiesSet();

        final HeaderSettingMessageSourceWrapper<File> messageSource = new HeaderSettingMessageSourceWrapper<File>(
                fileMessageSource, DIRECTORY_CONFIG_HEADER_NAME, depositDirectoryConfiguration);

        final SourcePollingChannelAdapter channelAdapter = new SourcePollingChannelAdapter();
        channelAdapter.setBeanFactory(beanFactory);
        channelAdapter.setBeanName("rsb-deposit-dir-ca-" + depositRootDirectory.getPath());
        channelAdapter.setOutputChannel(directoryDepositChannel);
        channelAdapter.setSource(messageSource);
        channelAdapter.setTrigger(fileTrigger);
        channelAdapter.afterPropertiesSet();
        channelAdapter.start();

        getLogger().info("Started channel adapter: " + channelAdapter);

        channelAdapters.add(channelAdapter);
    }
}

From source file:com.create.application.configuration.IntegrationConfiguration.java

@Bean
@InboundChannelAdapter(value = "inboundFileChannel", poller = @Poller(cron = "${ticket.poller.cron}"))
public MessageSource<File> fileMessageSource(@Value("${ticket.poller.path}") final String path,
        @Value("${ticket.poller.fileMask}") final String fileMask) {
    final FileReadingMessageSource source = new FileReadingMessageSource();
    final CompositeFileListFilter<File> compositeFileListFilter = new CompositeFileListFilter<>();
    final SimplePatternFileListFilter simplePatternFileListFilter = new SimplePatternFileListFilter(fileMask);
    final AcceptOnceFileListFilter<File> acceptOnceFileListFilter = new AcceptOnceFileListFilter<>();
    compositeFileListFilter.addFilter(simplePatternFileListFilter);
    compositeFileListFilter.addFilter(acceptOnceFileListFilter);
    source.setFilter(compositeFileListFilter);
    source.setDirectory(new File(path));
    return source;
}