如果使用带有定义线程配置文件的ftp连接器读取多个文件,则连接器会在某些条件下卡住。它还会停止为新文件轮询ftp。
线程配置文件示例:
<receiver-threading-profile maxThreadsActive="5" maxBufferSize="5" threadWaitTimeout="-1" poolExhaustedAction="WAIT" />
如果FTP有10个(maxThreadsActive + maxBufferSize = 10)或更多文件,那么其中只有4个将被处理,6个仍将保留在ftp上。轮询也不再发生。
解决方法 为ftp连接器定义线程配置文件并设置活动线程数和最大缓冲区大小,以便maxThreadsActive + maxBufferSize大于同时获取的文件数。
这是一个错误还是预测的行为?