2015-05-21 48 views
1

我正在使用sftp出站網關將文件傳輸到sftp。它在一定數量的上傳後隨機掛起。比如說,我有20個文件要上傳,它成功上傳了10個文件,掛起並阻止了所有其他進程。Sftp出站網關在一定數量的上傳後掛起

我正在通過服務激活器向Sftp出站網關提供文件。

我的整合方面如下:

<int-sftp:outbound-gateway id= "sftpOutboundGateWay" command="put" expression="payload" session-factory="sftpSessionFactory" 
    request-channel="sftpUploadChannel" reply-channel="sftpDataChannel" remote-directory="${sftp.dir}" /> 

該文件中的網關來自服務方法。我的方法是這樣的:

public Message<?> provideFile(Message<?> masterData) { 
    //some logic 
    return MessageBuilder.withPayload(fileObject).build(); 
} 

無論如何追蹤此問題或重新啓動出站網關?

回答

0

看起來你有一些組件不返回reply,因此調用線程被阻止等待回覆。有這樣的漏洞,最終導致線程池耗盡。因此,下一個任務只放到隊列中,但沒有線程來執行該任務。

您可以嘗試從線程轉儲中調查問題。