Repository: camel
Updated Branches:
  refs/heads/master 87c393acd -> 9c4e9df98


CAMEL-10083 - Add "disconnectOnBatchComplete" option to close FTP connection 
immediately after Batch of upload complete. Set disconnectOnBatchComplete 
default value to false in postWriteCheck.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9ec825ca
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9ec825ca
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9ec825ca

Branch: refs/heads/master
Commit: 9ec825ca7cbd7c3755905ff4e1db50a1c046ce3b
Parents: 87c393a
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Fri Jun 24 15:58:53 2016 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Fri Jun 24 15:58:53 2016 +0200

----------------------------------------------------------------------
 .../component/file/remote/RemoteFileProducer.java  |  2 +-
 .../FtpProducerDisconnectOnBatchCompleteTest.java  | 17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/9ec825ca/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
 
b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
index af4fc3d..a06e9c4 100644
--- 
a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
+++ 
b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
@@ -146,7 +146,7 @@ public class RemoteFileProducer<T> extends 
GenericFileProducer<T> implements Ser
     @Override
     public void postWriteCheck(Exchange exchange) {
         try {
-            boolean isLast = exchange.getProperty(Exchange.BATCH_COMPLETE, 
true, Boolean.class);
+            boolean isLast = exchange.getProperty(Exchange.BATCH_COMPLETE, 
false, Boolean.class);
             if (isLast && getEndpoint().isDisconnectOnBatchComplete()) {
                 log.trace("postWriteCheck disconnect on batch complete from: 
{}", getEndpoint());
                 disconnect();

http://git-wip-us.apache.org/repos/asf/camel/blob/9ec825ca/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerDisconnectOnBatchCompleteTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerDisconnectOnBatchCompleteTest.java
 
b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerDisconnectOnBatchCompleteTest.java
index 0a2e97f..7fbc1e2 100644
--- 
a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerDisconnectOnBatchCompleteTest.java
+++ 
b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerDisconnectOnBatchCompleteTest.java
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.component.file.remote;
 
+import static org.apache.camel.language.simple.SimpleLanguage.simple;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
 import org.apache.commons.net.ftp.FTPClient;
 import org.junit.Test;
 
@@ -44,5 +48,18 @@ public class FtpProducerDisconnectOnBatchCompleteTest 
extends FtpServerTestSuppo
         assertFalse("The FTPClient should be already disconnected", 
endpoint.getFtpClient().isConnected());
         assertTrue("The FtpEndpoint should be configured to disconnect", 
endpoint.isDisconnectOnBatchComplete());
     }
+    
+    @Override
+    public void sendFile(String url, Object body, String fileName) {
+       template.send(url, new Processor() {
+                       
+                       @Override
+                       public void process(Exchange exchange) throws Exception 
{
+                               exchange.getIn().setHeader(Exchange.FILE_NAME, 
simple(fileName));
+                               exchange.setProperty(Exchange.BATCH_COMPLETE, 
true);
+                               
+                       }
+               });
+    }
 
 }
\ No newline at end of file

Reply via email to