如何使用 Spring 集成 DSL 将预期回复设置为 false。错误号 output-channel 或 replyChannel header 可用
How to set expected reply to false using Spring integration DSL. Error no output-channel or replyChannel header available
我正在使用 Spring 集成并正在处理文件。我正在使用提供的 DSL 来处理我的文件。在我的集成流程结束时,我使用 Files.outboundGateway(...)
将结果输出到一个新文件。但是我不断收到以下错误 no output-channel or replyChannel header available
。根据此 post 底部的 post ,解决方案是将预期回复设置为 false 但是,如何使用 DSL 做到这一点?
下面显示了我在集成流程的最后一部分中写入文件的操作。
.handle(Files.outboundGateway(new File(outputFilePath))
.autoCreateDirectory(true)
.fileExistsMode(FileExistsMode.APPEND)
.appendNewLine(true)
.fileNameGenerator(m -> m.getHeaders().getOrDefault("file_name", "outputFile") + "_out.txt")
)
.get();
考虑使用 outboundAdapter()
而不是网关,因为您不打算处理写入结果,这是流程的结尾:
/**
* Create a {@link FileWritingMessageHandlerSpec} builder for the one-way {@code FileWritingMessageHandler}.
* @param destinationDirectory the target directory to write files.
* @return the {@link FileWritingMessageHandlerSpec} instance.
*/
public static FileWritingMessageHandlerSpec outboundAdapter(File destinationDirectory) {
我正在使用 Spring 集成并正在处理文件。我正在使用提供的 DSL 来处理我的文件。在我的集成流程结束时,我使用 Files.outboundGateway(...)
将结果输出到一个新文件。但是我不断收到以下错误 no output-channel or replyChannel header available
。根据此 post 底部的 post ,解决方案是将预期回复设置为 false 但是,如何使用 DSL 做到这一点?
下面显示了我在集成流程的最后一部分中写入文件的操作。
.handle(Files.outboundGateway(new File(outputFilePath))
.autoCreateDirectory(true)
.fileExistsMode(FileExistsMode.APPEND)
.appendNewLine(true)
.fileNameGenerator(m -> m.getHeaders().getOrDefault("file_name", "outputFile") + "_out.txt")
)
.get();
考虑使用 outboundAdapter()
而不是网关,因为您不打算处理写入结果,这是流程的结尾:
/**
* Create a {@link FileWritingMessageHandlerSpec} builder for the one-way {@code FileWritingMessageHandler}.
* @param destinationDirectory the target directory to write files.
* @return the {@link FileWritingMessageHandlerSpec} instance.
*/
public static FileWritingMessageHandlerSpec outboundAdapter(File destinationDirectory) {