【发布时间】:2020-01-24 07:15:52
【问题描述】:
我想使用 Spring 集成来开发一个应用程序来做以下事情
- 在可用时轮询目录中的文件。
- 将文件复制到存档目录
- 处理文件并将路径添加到数据库。
我不确定如何配置它,也找不到任何好的文档。其中大多数是 xml 中的配置,我想要 java config。 我有这段代码,但这只是复制文件并删除源。我不知道如何处理源代码。
@Bean
public MessageChannel fileInputChannel() {
return new DirectChannel();
}
@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("*.pdf"));
source.setLoggingEnabled(true);
return source;
}
@Bean
@ServiceActivator(inputChannel = "fileInputChannel")
public FileWritingMessageHandler fileWritingMessageHandler() {
FileWritingMessageHandler fileWritingMessageHandler = new FileWritingMessageHandler(
new File(OUTBOUND_PATH));
fileWritingMessageHandler.setAutoCreateDirectory(true);
fileWritingMessageHandler.setExpectReply(false);
fileWritingMessageHandler.setDeleteSourceFiles(true);
return fileWritingMessageHandler;
}
【问题讨论】:
-
您看过 SI 样本 - github.com/spring-projects/spring-integration-samples 吗?我的意思是有很多文档和示例。在提供的链接中,您可以找到从简单的单个组件到构成整个流程的示例应用程序的所有示例。例如,github.com/spring-projects/spring-integration-samples/tree/… 非常接近您的用例。
标签: spring-integration spring-integration-dsl