我正在尝试构建一个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());
}
}
我想通过配置类管理所有内容,但我无法弄清楚如何使其工作。
答案 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;
}