title: Mule FTP polling stops without error or warning
body: <p>I encountered an issue with the FTP polling of Mule ESB standalone:
  The application was running for a few days without issues, and then the FTP polling stopped without giving warning or error.</p>
  
  <p>Logs were showing signs of activity for the FTP polling until it stopped. Afterward nothing, but other connectors were still active (mainly SFTP polling). I enabled DEBUG log on runtime to see if there was still activity, and the corresponding connector threads were completely silent, as if stopped or blocked. </p>
  
  <p>In the end, restarting the application solved the issue temporarily, but I am trying to understand why this occured to avoid facing it again. My suspicion is that the FTP connector threads either stopped or were blocked, preventing further polls.</p>
  
  <p>It may be caused by an extended FtpMessageReceiver we used to prevent file deletion after poll (overriding postProcess() function). However looking in the source code of both this component and the base FTP receiver and connector, I cannot see how it could happen.</p>
  
  <p>Any idea why the poll would suddenly stop without throwing an error?</p>
  
  <p>Here is the current connector configuration:</p>
  
  <pre><code>    &lt;ftp:connector name="nonDeletingFtpConnector" doc:name="FTP"
          pollingFrequency="${frequency}"
          validateConnections="true"&gt;
      &lt;reconnect frequency="${frequency}" count="${count}"/&gt;
      &lt;service-overrides messageReceiver="my.comp.NonDeletingFtpMessageReceiver" /&gt;
  &lt;/ftp:connector&gt;
  </code></pre>
  
  <p>And the corresponding endpoint:</p>
  
  <pre><code>    &lt;ftp:inbound-endpoint host="${ftp.source.host}" 
              port="${ftp.source.port}" 
              path="${ftp.source.path}" 
              user="${ftp.source.login}" 
              responseTimeout="10000"
              password="${ftp.source.password}" 
              connector-ref="archivingFtpConnector" 
              pollingFrequency="${ftp.default.polling.frequency}"&gt;
          &lt;file:filename-wildcard-filter pattern="*.zip"/&gt;
      &lt;/ftp:inbound-endpoint&gt;
  </code></pre>
  
  <p>The messageReceiver code:</p>
  
  <pre><code>public class NonDeletingFtpMessageReceiver extends FtpMessageReceiver {
      public NonDeletingFtpMessageReceiver(Connector connector, FlowConstruct flowConstruct, InboundEndpoint endpoint, long frequency) throws CreateException {
          super(connector, flowConstruct, endpoint, frequency);
      }
  
      @Override
      protected void postProcess(FTPClient client, FTPFile file, MuleMessage message) throws Exception {
          //do nothing
      }
  }
  </code></pre>
  
  <p>As you can see we defined a FtpMessageReceiver to avoid the file deletion on poll (this is done further on the flow), but looking in the code I can't see how skipping the super.postProcess() call (which is responsible for deleting the file) may cause issues.</p>
  
  <p>FtpMessageReceiver source code I looked in:
  <a href="https://github.com/mulesoft/mule/blob/mule-3.5.0/transports/ftp/src/main/java/org/mule/transport/ftp/FtpMessageReceiver.java" rel="nofollow">https://github.com/mulesoft/mule/blob/mule-3.5.0/transports/ftp/src/main/java/org/mule/transport/ftp/FtpMessageReceiver.java</a></p>
  
  <p>Technical config:</p>
  
  <ul>
  <li>Mule Standalone 3.5.0</li>
  <li>Ubuntu 14.04.2 LTS</li>
  <li>Java OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)</li>
  </ul>
  
  <p>Any help would be appreciated. Thanks by advance !</p>