我有一个要求,我必须使用 Apache Camel 将 6 个 xml 文件聚合/合并到一个 xml 文件中。问题是,这 6 个 xml 文件安装在一个文件夹中,6 个不同的服务器将轮询该文件夹。那么,如果每台服务器获取一个文件并将其锁定,我如何才能合并和创建单个 xml 文件?
复杂性在于当有六台服务器处理挂载到文件夹的所有六个文件时,如何写入单个文件。
如果有人遇到类似的问题,请提供解决方案。
谢谢
我有一个要求,我必须使用 Apache Camel 将 6 个 xml 文件聚合/合并到一个 xml 文件中。问题是,这 6 个 xml 文件安装在一个文件夹中,6 个不同的服务器将轮询该文件夹。那么,如果每台服务器获取一个文件并将其锁定,我如何才能合并和创建单个 xml 文件?
复杂性在于当有六台服务器处理挂载到文件夹的所有六个文件时,如何写入单个文件。
如果有人遇到类似的问题,请提供解决方案。
谢谢
来自骆驼文档 http://camel.apache.org/file2.html
fileLock is for using java.nio.channels.FileLock.
This option is not avail for the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks.
所以这应该有助于文件锁定方案。
现在对于下一步,可以使用聚合存储库实现自定义聚合策略,这样消费者是幂等的。