spring-integration - 示例中提供的文件入站适配器示例不起作用
问题描述
@SpringBootApplication
public class FileReadingJavaApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(FileReadingJavaApplication.class)
.web(false)
.run(args);
}
@Bean
public IntegrationFlow fileReadingFlow() {
return IntegrationFlows
.from(s -> s.file(new File(INBOUND_PATH))
.patternFilter("*.txt"),
e -> e.poller(Pollers.fixedDelay(1000)))
.transform(Files.toStringTransformer())
.channel("processFileChannel")
.get();
}
}
在 Eclipse 中读取以下错误:此行有多个标记 - 此表达式的目标类型必须是功能接口 - 类型 IntegrationFlows 中的方法 from(String, boolean) 不适用于参数 (( s) -> {} , (e) -> {})
解决方案
听起来您已经在使用 Spring Integration 5.x。通道适配器没有那个工厂来避免循环依赖。您需要使用Files.inboundAdaper()
而不是第一个 lambda。
另外,请在 GitHub 上提出问题以修复文档中的该示例:https ://docs.spring.io/spring-integration/docs/5.1.3.BUILD-SNAPSHOT/reference/html/files.html#_configuring_with_the_java_dsl_8
另外,您可以在示例中找到其中一些:https ://github.com/spring-projects/spring-integration-samples
推荐阅读
- javascript - 按钮在页面重新加载时保持单击状态
- azure - Terraform Azurerm - 输出要用作变量的公共 IP 地址
- mysql - 我之前安装了easyphp 5.7。但是当我安装 mysql workbench 时,easyphp 停止工作并显示此错误
- android - 使用哪个 Coroutine Dispatcher 在循环中运行代码
- php-7 - JSZip 在读取之前上传的 zip 文件时报告缺少字节
- python - 如何用any检查系列中的值?
- excel - 根据excel前列中的行值创建列
- javascript - Javascript中的局部变量推送到全局数组
- angular - Angular 从 v9 更新到 v10 后出错。在初始化之前使用属性“propertyName”
- java - 格式化和解析相同的日期会提供不同的结果