spring - 如何使用 SpringIntegration 将文件转换为字符串
问题描述
我正在尝试读取文本文件并使用 SpringIntegration 将其转换为字符串。
在将文件转换为字符串时需要帮助。
Git 链接:https ://github.com/ravikalla/spring-integration
源代码 -
@Bean
@InboundChannelAdapter(value = "payorFileSource", poller = @Poller(fixedDelay = "10000"))
public MessageSource<File> fileReadingMessageSource() {
FileReadingMessageSource sourceReader = new FileReadingMessageSource();
sourceReader.setDirectory(new File(INPUT_DIR));
sourceReader.setFilter(new SimplePatternFileListFilter(FILE_PATTERN));
return sourceReader;
}
@Bean
@Transformer(inputChannel="payorFileSource", outputChannel="payorFileContent")
public FileToStringTransformer transformFileToString() {
FileToStringTransformer objFileToStringTransformer = new FileToStringTransformer();
return objFileToStringTransformer;
}
错误 -
SEVERE: org.springframework.integration.handler.ReplyRequiredException: No reply produced by handler 'fileCopyConfig.transformPayorStringToObject.transformer.handler', and its 'requiresReply' property is set to true., failedMessage=GenericMessage [payload=1|test1, headers={sequenceNumber=1, file_name=payor.txt, sequenceSize=4, correlationId=ff1fef7d-7011-ee99-8d71-96146ac9ea07, file_originalFile=source/payor.txt, id=fd4f950b-afcf-70e6-a053-7d59ff593add, file_relativePath=payor.txt, timestamp=1554875904858}]
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:119)
解决方案
您可以将文件转换为一个InputStream
并使用
IOUtils.toString(inputStream)
将其转换为字符串。
推荐阅读
- sql - SQL Server - 减轻查询中列包含 NULL 的近乎重复的记录?
- api - 通过 API 将数据从表单添加到数据库
- model - Elm create-elm-app 错误:初始化时赋予 Elm 程序的标志有问题。Json.Decode.oneOf 以下2种方式失败
- java - Kruskal 算法 - 我在这个实现中的问题是什么?
- android - Android Project的状态栏不能变色
- python - matplotlib:如何精确定位文本?
- php - HTML/PHP:移动 Web 导航栏不起作用
- java - 在 Resteasy Reactive / Quarkus 中使用枚举作为查询参数
- python - Python 部署到 Azure 应用服务失败且没有错误
- html - Bootstrap 导航栏右对齐