0

我正在使用 spring 集成轮询器从 sftp 服务器下载文件

<int-sftp:inbound-channel-adapter channel="myFileDownloadChannel"
                                      session-factory="mySftpSessionFactory"
                                      remote-directory="#{remote}"
                                      filter = "modifiedFileListFilter"
                                      local-directory="#{local}"
                                      auto-create-local-directory="true">
<integration:poller cron="10 * * * * *" default="true"/>
</int-sftp:inbound-channel-adapter>

 <integration:service-activator input-channel="myFileDownloadChannel"
                                ref="errorTransformer" 
                                output-channel="endChannel"/>

我在 6 台服务器上运行此代码。

  1. 如果 6 个服务器每 10 分钟轮询一次,它会挂起 sftp 服务器吗?
  2. 每次触发轮询器时它都会建立新的连接吗?

请指教。

4

2 回答 2

0
  1. 这取决于服务器,但这可能没什么大不了的;对我来说听起来不像高音量。
  2. 您可以将会话工厂包装在 aCachingSessionFactory中以保持会话打开,但许多服务器都配置为丢弃空闲连接。
于 2013-10-03T11:52:22.323 回答
0

添加一个布尔变量"cache-sessions = false"<int-sftp:inbound-channel-adapter

默认情况下为TRUE。并将保持connections open.

将其设置为FALSE,它会close sessions per use

于 2013-10-05T01:06:14.447 回答