Spring集成缓存会话工厂:setTestSession(true)的作用是什么?

vlf7wbxs  于 2022-12-10  发布在  Spring
关注(0)|答案(1)|浏览(181)

我正在使用CachingSessionFactory,我想知道属性'setTestSession(boolean testSession)有什么作用,什么时候使用它?
关于它的作用,医生们并没有说太多:(布尔值)

qkf9rpyu

qkf9rpyu1#

请参阅SFTP文档:https://docs.spring.io/spring-integration/docs/current/reference/html/sftp.html#sftp-session-caching
从版本5.1开始,CachingSessionFactory有一个新的属性testSession。当为true时,将通过执行REALPATH命令来测试会话是否为空路径,以确保会话仍处于活动状态;如果不是,则将其该高速缓存中移除;如果该高速缓存中没有活动会话,则创建新会话。
该高速缓存中的逻辑如下所示:

public boolean isStale(Session<F> session) {
            return CachingSessionFactory.this.testSession ? !session.test() : !session.isOpen();
        }

如需实作的详细信息,请参阅SftpSession

相关问题