此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1! |
要将从文件系统读取的数据转换为对象,反之亦然,您需要做一些工作。
与此不同,在较小程度上,您可能需要自己的机制来完成工作。
为此,您可以实现该接口。
或者,您可以扩展 for 入站消息。
Spring Integration 提供了一些明显的实现。FileReadingMessageSource
FileWritingMessageHandler
Transformer
AbstractFilePayloadTransformer
请参阅 Transformer
接口的 Javadoc,了解哪些 Spring Integration 类实现了它。
同样,您可以在 Javadoc 中检查 AbstractFilePayloadTransformer
类,以查看哪些 Spring Integration 类扩展了它。
FileToByteArrayTransformer
使用 Spring 的 .
使用一系列转换器通常比将所有转换放在一个类中要好。
在这种情况下,to 转换可能是合乎逻辑的第一步。AbstractFilePayloadTransformer
File
byte[]
FileCopyUtils
File
byte[]
FileToStringTransformer
扩展 将对象转换为 .
如果不出意外,这对于调试很有用(考虑将其与窃听器一起使用)。AbstractFilePayloadTransformer
File
String
若要配置特定于文件的转换器,可以使用文件命名空间中的相应元素,如以下示例所示:
<int-file:file-to-bytes-transformer input-channel="input" output-channel="output"
delete-files="true"/>
<int-file:file-to-string-transformer input-channel="input" output-channel="output"
delete-files="true" charset="UTF-8"/>
该选项向转换器发出信号,表明它应该在转换完成后删除入站文件。
这绝不是在多线程环境中使用时(例如通常使用 Spring Integration 时)的替代品。delete-files
AcceptOnceFileListFilter
FileReadingMessageSource