|
该版本仍在开发中,尚未被视为稳定。对于最新的稳定版本,请使用 Spring Integration 7.0.0! |
文件变换器
要将从文件系统读取的数据转换为对象,反之亦然,你需要做一些工作。
与文件阅读消息源在较小程度上文件写入消息处理器你可能需要自己的机制来完成这项工作。
为此,你可以实现转换器接口。
或者,你也可以扩展AbstractFilePayloadTransformer用于接收入站消息。
Spring Integration 提供了一些明显的实现。
参见Javadoc 用于转换器接口以查看哪些 Spring 集成类实现了它。
同样,你也可以检查Javadoc 用于AbstractFilePayloadTransformer类以查看哪些 Spring 集成类扩展了它。
FileToByteArrayTransformer延伸AbstractFilePayloadTransformer并且 变换文件对象变成了字节[]通过使用 Spring 的文件复制实用程序.
通常使用一系列变换器比将所有变换放在同一类中更为优。
在这种情况下文件自字节[]皈依可能是合乎逻辑的第一步。
FileToStringTransformer延伸AbstractFilePayloadTransformer转换为文件对象字符串.
至少这对调试很有用(可以考虑配合线路分流器使用)。
要配置文件专用变换器,您可以使用文件命名空间中的相应元素,如下示例所示:
<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"/>
这删除文件选项向变换器发出信号,表示转换完成后应删除入站文件。
这绝不能替代使用AcceptOnceFileListFilter当文件阅读消息源在多线程环境中被使用(比如一般使用 Spring Integration 时)。