gpt4 book ai didi

java - Spring 集成文件支持

转载 作者:行者123 更新时间:2023-11-30 02:14:03 25 4
gpt4 key购买 nike

在Spring Integration中如何防止两台不同的机器在同一个文件中工作?我知道nio库(javaSE)提供了一种锁定文件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>

更多信息位于 Reference Manual .

避免不同 JVM 中并发访问和重复的另一个选项是使用带有共享持久性 ConcurrentMetadataStoreFileSystemPersistentAcceptOnceFileListFilter:https://docs.spring.io/spring-integration/docs/5.0.3.RELEASE/reference/html/files.html#file-reading

关于java - Spring 集成文件支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com