下载文件用Spring-integration 连接sftp出现断开连接重新连的情况,从DEBUG日志可以看 “Received a stale item …..”
代码:if(this.callback.isStale(item)) 为true,才会打印DEBUG日志。
跟踪代码发现,testSession为true,执行了session.test代码(代码中发现了ls,经过验证发现ls,没有权限),导致session连接断开,而其他线程又去尝试获取连接,导致报“Auth fail”
此时如果testSession=true
执行session.test(),最终执行到如下代码
解决方案:①修改目录权限,让ls执行不报错。②把testSession设置为false,不去检查ls。