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