implementation 'org.springframework.boot:spring-boot-starter-integration'
implementation 'org.springframework.integration:spring-integration-file'
@EnableIntegration
@IntegrationComponentScan
@SpringBootApplication
public class IntegrationApplication {
public static void main(String[] args) {
SpringApplication.run(CpKiboIntegrationApplication.class, args);
}
@Bean
public FileWritingMessageHandler fileWritingMessageHandler() {
return new FileWritingMessageHandler(new File("outDir"));
}
@Bean
@InboundChannelAdapter(channel = "fileInputChannel", poller = @Poller(fixedDelay = "5000"))
public MessageSource<File> pollableFileSource() {
FileReadingMessageSource fileReadingMessageSource = new FileReadingMessageSource();
fileReadingMessageSource.setDirectory(new File("inputDir"));
fileReadingMessageSource.setFilter(new SimplePatternFileListFilter("*.txt"));
return fileReadingMessageSource;
}
}
@Service
public class ActivatorService {
@Autowired
private FileWritingMessageHandler fileWritingMessageHandler;
@ServiceActivator(inputChannel = "fileInputChannel")
public MessageHandler fileReceiver(Message<?> message) {
fileWritingMessageHandler.setFileExistsMode(FileExistsMode.REPLACE);
fileWritingMessageHandler.setDeleteSourceFiles(true);
fileWritingMessageHandler.setExpectReply(false);
fileWritingMessageHandler.setAutoCreateDirectory(true);
return fileWritingMessageHandler;
}
}
O.S.I.ExpressionUtils:创建没有beanFactory的EvaluationContext
错误:
原因:
原因:org.SpringFramework.Messaging.core.DestinationResolutionException:org.SpringFramework.Integration.Handler.AbstractMessageProducingHandler.SendOutput(AbstractMessageProducingHandler.java:426)(org.SpringFramework.Integration.Handler.AbstractMessageProducingHandler.DoProduceOutput(AbstractMessageProducingHandler.284)(
FileWritingMessageHandler
必须是@bean
。
您自己调用new
,因此它不是由Spring管理的。
在任何情况下,您都不希望每个消息都有一个新的处理程序。
@Bean
@ServiceActivator(inputChannel = "fileInputChannel")
public MessageHandler fileReceiver() {
FileWritingMessageHandler handler = new FileWritingMessageHandler(new File("outDir"));
handler.setFileExistsMode(FileExistsMode.REPLACE);
handler.setDeleteSourceFiles(true);
handler.setExpectReply(false);
handler.setAutoCreateDirectory(true);
return handler;
}
代码从卡中刮取单个事件,但我一直收到以下错误: C:\Python27\python.exeC:/用户/詹姆斯/PycharmProjects/剪贴画/scrapy.py回溯(最近的调用最后):文件"C:/用户/詹姆斯/PycharmProjects/剪贴画/scrapy.py",第31行,在writer.writerow(c)值错误: I/O关闭文件的操作 我正在使用pyCharm。 退出代码为
我目前正在使用Spring集成实现一些导入/导出机制,总的来说进展很顺利,但在功能方面似乎存在差距,我不了解: 有Spring集成文件轮询目录,写入文件,...我可以用它来轮询一个目录,并获得一个
我是Vert的新手。我正在尝试实现一个小型REST API,它将数据存储在本地文件系统的JSON文件中。 到目前为止,我设法实现了REST API,因为Vertx在这方面有很好的文档记录。 我目前正在寻找的是如何在Vert. x中构建数据访问对象的示例。我怎样才能实现一个可以对包含JSON的文本文件执行粗鲁操作的版本? 你能给我举些例子吗?有什么提示吗? 更新1: 通过对文件进行CRUD操作,我想
我正在我的项目中使用spring批处理spring集成sftp。我不希望在应用程序启动时触发下载。我希望下载过程在步骤1中触发,并在所有文件下载到本地后继续执行步骤2,不确定如何实现这一点
我正在开发一个Spring集成应用程序。 我有一个入站通道适配器,用于读取目录,然后是一个拆分器,用于将文件拆分为行,最后是一个udp出站通道适配器,用于发送行 我想每秒钟发一封信 我可以通过定义自己的拆分器并在每次读取一行时等待1s来做到这一点,但我想知道是否可以在xml文件中尽可能简单地完成它。 提前谢谢
我有一个队列通道和一个带有轮询器的服务激活器,轮询器从该队列中读取数据。我希望配置为“我希望50个线程轮询该队列,每次轮询并返回消息时,在此线程上调用服务激活器指向的服务。” 该服务没有异步注释,但无状态,可以以并发方式安全运行。 下面的方法能做到吗?有没有其他首选的方法来实现这一点?