2015-08-13 2 views
0

Я использую Camel 2.15.2 с Apache Commons Net 3.3 на Java 8, развернутой в контейнере Tomcat.Верблюд: Не удалось выполнить операцию с файлом: соединение закрыто без указания. Код: 421

Вопрос заключается в том, что последовательно после обработки чуть более 200 файлов (> 4000 файлов в каталоге) маршрут останавливается, клиент отключается FTP и регистрируется следующее сообщение из:

[ogs.sharp-stream.com:21/root/] FtpConsumer     WARN Error processing file RemoteFile[route/to/file] due to File operation failed: Connection closed without indication.. Code: 421. Caused by: [org.apache.camel.component.file.GenericFileOperationFailedException - File operation failed: Connection closed without indication.. Code: 421] 
org.apache.camel.component.file.GenericFileOperationFailedException: File operation failed: Connection closed without indication.. Code: 421 
     at org.apache.camel.component.file.remote.FtpOperations.getCurrentDirectory(FtpOperations.java:713) 
     at org.apache.camel.component.file.remote.FtpOperations.retrieveFileToFileInLocalWorkDirectory(FtpOperations.java:440) 
     at org.apache.camel.component.file.remote.FtpOperations.retrieveFile(FtpOperations.java:310) 
     at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:384) 
     at org.apache.camel.component.file.remote.RemoteFileConsumer.processExchange(RemoteFileConsumer.java:137) 
     at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:211) 
     at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:175) 
     at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:187) 
     at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:114) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) 
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication. 
     at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:317) 
     at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:294) 
     at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:483) 
     at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:608) 
     at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:582) 
     at org.apache.commons.net.ftp.FTP.pwd(FTP.java:1454) 
     at org.apache.commons.net.ftp.FTPClient.printWorkingDirectory(FTPClient.java:2658) 
     at org.apache.camel.component.file.remote.FtpOperations.getCurrentDirectory(FtpOperations.java:709) 
     ... 15 more 

This is the URI используется на начало соответствующего маршрута.

Как вы можете узнать из URI, я также использую FileIdempotentRepository. Он определяется как этого

  <property name="fileStore" value="target/fileidempotent/.filestore1.dat" /> 

      <property name="maxFileStoreSize" value="512000" /> 

      <property name="cacheSize" value="250" /> 
    </bean> 

Любые идеи, почему соединение может быть закрытие до того как все файлы обрабатываются?

ответ

3

Вам нужно добавить следующий параметр к вам FTP/FTPS URL

разъединение = истинный

Это приведет к отсоединиться от удаленного хоста после того, как файл (ы) передаются и при попытке возобновления маршрута происходит новое соединение. (вместо использования устаревших, которые могли быть закрыты удаленным хостом/брандмауэром)

0

Я предполагаю, что ваше соединение закрыто, например. вашей огневой стеной. Попробуйте установить параметр maxMessagesPerPoll, например. 150.

 Смежные вопросы

  • Нет связанных вопросов^_^