List of usage examples for org.springframework.integration.file FileReadingMessageSource FileReadingMessageSource
public FileReadingMessageSource()
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; }
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 ww . j a v a 2 s .c o 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.joshlong.esb.springintegration.modules.net.sftp.config.SFTPMessageSourceFactoryBean.java
@Override protected SFTPMessageSource createInstance() throws Exception { try {//w w w. j a v a 2 s . c om if ((localWorkingDirectory == null) || StringUtils.isEmpty(localWorkingDirectory)) { File tmp = SystemUtils.getJavaIoTmpDir(); File sftpTmp = new File(tmp, "sftpInbound"); this.localWorkingDirectory = "file://" + sftpTmp.getAbsolutePath(); } assert !StringUtils .isEmpty(this.localWorkingDirectory) : "the local working directory mustn't be null!"; // resource for local directory ResourceEditor editor = new ResourceEditor(this.resourceLoader); editor.setAsText(this.localWorkingDirectory); this.localDirectoryResource = (Resource) editor.getValue(); fileReadingMessageSource = new FileReadingMessageSource(); synchronizer = new SFTPInboundSynchronizer(); if (null == taskScheduler) { Map<String, TaskScheduler> tss = null; if ((tss = applicationContext.getBeansOfType(TaskScheduler.class)).keySet().size() != 0) { taskScheduler = tss.get(tss.keySet().iterator().next()); } } if (null == taskScheduler) { ThreadPoolTaskScheduler ts = new ThreadPoolTaskScheduler(); ts.setPoolSize(10); ts.setErrorHandler(new ErrorHandler() { public void handleError(Throwable t) { // todo make this forward a message onto the error channel (how does that work?) logger.debug("error! ", t); } }); ts.setWaitForTasksToCompleteOnShutdown(true); ts.initialize(); this.taskScheduler = ts; } SFTPSessionFactory sessionFactory = SFTPSessionUtils.buildSftpSessionFactory(this.getHost(), this.getPassword(), this.getUsername(), this.getKeyFile(), this.getKeyFilePassword(), this.getPort()); QueuedSFTPSessionPool pool = new QueuedSFTPSessionPool(15, sessionFactory); pool.afterPropertiesSet(); synchronizer.setRemotePath(this.getRemoteDirectory()); synchronizer.setPool(pool); synchronizer.setAutoCreatePath(this.isAutoCreateDirectories()); synchronizer.setShouldDeleteDownloadedRemoteFiles(this.isAutoDeleteRemoteFilesOnSync()); SFTPMessageSource sftpMessageSource = new SFTPMessageSource(fileReadingMessageSource, synchronizer); sftpMessageSource.setTaskScheduler(taskScheduler); if (null != this.trigger) { sftpMessageSource.setTrigger(trigger); } sftpMessageSource.setLocalDirectory(this.localDirectoryResource); sftpMessageSource.afterPropertiesSet(); sftpMessageSource.start(); return sftpMessageSource; } catch (Throwable thr) { logger.debug("error occurred when trying to configure SFTPmessageSource ", thr); } return null; }