我目前正在使用 Spring Integration 实现一些导入/导出机制,总而言之,它进行得很好,但似乎在我不理解的能力方面存在差距:
有用于轮询目录的Spring Integration File,写入文件,......我可以使用它来轮询目录并Message<File>
为我感兴趣的每个文件获取一个。
有用于处理对象的Spring Integration XMLDocument
,应用 XPath,XSLT,...我可以使用它来分析 XML 文档,使用 XPath 丰富标题,拆分文档,...
我缺少的是两者之间的联系:
- 给定一个将放置 XML 文件的目录,我想要一个包含
Message<Document>
每个文件的通道 - 给定一个通道,
Message<Document>
我想要一个将每个通道写入文件的配置。
Marshallers/Unmarshallers似乎正是我正在寻找的东西(或者至少将我带到 a 的一半byte[]
),但它们似乎只能Document
通过一些映射框架将 a 转换为/从 POJO 转换。
对于解析,我可以通过这个简单的类帮助自己:
public class FileToDocumentTransformer extends AbstractFilePayloadTransformer<Document> {
@Override
protected Document transformFile(File file) throws Exception {
return DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
}
}
但是我还没有找到合适的对应物,我不敢相信 Spring Integration 还没有内置这种微不足道的能力。
我错过了什么?