spring批量集成文件轮询器

时间:2016-08-22 18:17:04

标签: spring-integration spring-batch spring-java-config poller

我正在尝试构建一个Spring批处理应用程序,只有在文件进入目录后才能启动作业。为此我需要一个文件轮询器和类似于Spring参考手册中的代码片段:

public class FileMessageToJobRequest {
    private Job job;
    private String fileParameterName;

    public void setFileParameterName(String fileParameterName) {
        this.fileParameterName = fileParameterName;
    }

    public void setJob(Job job) {
        this.job = job;
    }

    @Transformer
    public JobLaunchRequest toRequest(Message<File> message) {
        JobParametersBuilder jobParametersBuilder =
        new JobParametersBuilder();

        jobParametersBuilder.addString(fileParameterName,
        message.getPayload().getAbsolutePath());

        return new JobLaunchRequest(job, jobParametersBuilder.toJobParameters());
    }
}

我想通过配置类管理所有内容,但我无法弄清楚如何使其工作。

1 个答案:

答案 0 :(得分:0)

你的问题不明确。最好有一些有用的东西,然后是一些你自己的PoC或试图完成任务。

但无论如何,您似乎希望避免使用XML配置并且只能使用Java&amp;注释配置。

为此,我建议您查看Reference Manual并在File Support章节中找到此示例:

@Bean
@InboundChannelAdapter(value = "fileInputChannel", poller = @Poller(fixedDelay = "1000"))
public MessageSource<File> fileReadingMessageSource() {
     FileReadingMessageSource source = new FileReadingMessageSource();
     source.setDirectory(new File(INBOUND_PATH));
     source.setFilter(new SimplePatternFileListFilter("*.txt"));
     return source;
}