Sftp出站网关在上传一定数量后挂起

时间:2015-05-21 11:45:18

标签: spring-integration

我正在使用sftp出站网关将文件传输到sftp。它会在一定数量的上传后随机挂起。例如,我要上传20个文件,成功上传10个文件,挂起并阻止所有其他进程。

我通过服务激活器向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();
}

无论如何都要跟踪此问题或重新启动出站网关?

1 个答案:

答案 0 :(得分:0)

看起来你有一些组件没有返回reply,因此调用线程被阻止等待回复。有这样的漏洞你最终会导致线程池耗尽。因此,下一个任务只是放在队列中,但是没有Thread可以执行该任务。

您可以尝试从线程转储中调查您的问题。