You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/07/22 17:00:15 UTC

svn commit: r966700 - in /camel/trunk/components/camel-ftp/src: main/java/org/apache/camel/component/file/remote/ test/java/org/apache/camel/component/file/remote/

Author: davsclaus
Date: Thu Jul 22 15:00:15 2010
New Revision: 966700

URL: http://svn.apache.org/viewvc?rev=966700&view=rev
Log:
CAMEL-2979: ftp consumer will only try to re-connect if maxReconnectOption allows it to do so.

Added:
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpNoReconnectAttemptUnknownHostTest.java
      - copied, changed from r966672, camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpReconnectAttemptUnknownHostTest.java
Modified:
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java?rev=966700&r1=966699&r2=966700&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConsumer.java Thu Jul 22 15:00:15 2010
@@ -44,7 +44,17 @@ public abstract class RemoteFileConsumer
     }
 
     protected boolean prePollCheck() throws Exception {
-        recoverableConnectIfNecessary();
+        try {
+            if (getEndpoint().getMaximumReconnectAttempts() > 0) {
+                // only use recoverable if we are allowed any re-connect attempts
+                recoverableConnectIfNecessary();
+            } else {
+                connectIfNecessary();
+            }
+        } catch (Exception e) {
+            loggedIn = false;
+        }
+
         if (!loggedIn) {
             String message = "Could not connect/login to: " + remoteServer() + ". Will skip this poll.";
             log.warn(message);

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java?rev=966700&r1=966699&r2=966700&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java Thu Jul 22 15:00:15 2010
@@ -97,7 +97,7 @@ public abstract class RemoteFileEndpoint
      * @throws Exception is thrown if endpoint is invalid configured for its mandatory options
      */
     protected void afterPropertiesSet() throws Exception {
-        RemoteFileConfiguration config = (RemoteFileConfiguration) getConfiguration();
+        RemoteFileConfiguration config = getConfiguration();
         ObjectHelper.notEmpty(config.getHost(), "host");
         ObjectHelper.notEmpty(config.getProtocol(), "protocol");
     }

Copied: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpNoReconnectAttemptUnknownHostTest.java (from r966672, camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpReconnectAttemptUnknownHostTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpNoReconnectAttemptUnknownHostTest.java?p2=camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpNoReconnectAttemptUnknownHostTest.java&p1=camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpReconnectAttemptUnknownHostTest.java&r1=966672&r2=966700&rev=966700&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpReconnectAttemptUnknownHostTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpNoReconnectAttemptUnknownHostTest.java Thu Jul 22 15:00:15 2010
@@ -23,10 +23,10 @@ import org.junit.Test;
 /**
  * @version $Revision$
  */
-public class FtpReconnectAttemptUnknownHostTest extends FtpServerTestSupport {
+public class FtpNoReconnectAttemptUnknownHostTest extends FtpServerTestSupport {
 
     private String getFtpUrl() {
-        return "ftp://admin@doesnotexisthost:" + getPort() + "/reconnect?password=admin";
+        return "ftp://admin@doesnotexisthost:" + getPort() + "/reconnect?maximumReconnectAttempts=0&password=admin";
     }
 
     @Test