[英]Spring Integration File Support
在Spring Integration中,如何防止两个不同的机器在同一个文件中工作? 我知道nio库(javaSE)提供了一种锁定File FileLocker的机制,但是如何使用Spring Integration实现它呢? 一个具体的例子将不胜感激。
确实有一个org.springframework.integration.file.locking.NioFileLocker
实现,可用于FileReadingMessageSource
选项,例如:
/**
* Optional. Sets a {@link FileLocker} to be used to guard files against
* duplicate processing.
* <p>
* <b>The supplied FileLocker must be thread safe</b>
* @param locker a locker
*/
public void setLocker(FileLocker locker) {
从XML角度来看,它是这样的:
<file:inbound-channel-adapter>
<file:nio-locker/>
</file:inbound-channel-adapter>
更多信息在参考手册中 。
避免在不同的JVM中进行并发访问和复制的另一种方法是将FileSystemPersistentAcceptOnceFileListFilter
与共享的持久性ConcurrentMetadataStore
: https : //docs.spring.io/spring-integration/docs/5.0.3.RELEASE/reference/html/files.html #文件读取
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.