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 2016/04/04 15:47:26 UTC
[2/6] camel git commit: CAMEL-9808: Enable configuration of bulk
requests
CAMEL-9808: Enable configuration of bulk requests
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f6586d03
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f6586d03
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f6586d03
Branch: refs/heads/master
Commit: f6586d0390598ee82567c5da4ca9b37ccc8bc381
Parents: 08e8d26
Author: Thomas Küstermann <th...@outlook.com>
Authored: Mon Apr 4 13:05:36 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Apr 4 15:16:35 2016 +0200
----------------------------------------------------------------------
.../file/remote/SftpConfiguration.java | 14 ++++++++++++++
.../component/file/remote/SftpOperations.java | 20 ++++++++++++++++++++
2 files changed, 34 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/f6586d03/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
index 737ee10..7e740ae 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
@@ -65,6 +65,8 @@ public class SftpConfiguration extends RemoteFileConfiguration {
private String preferredAuthentications;
@UriParam(defaultValue = "WARN")
private LoggingLevel jschLoggingLevel = LoggingLevel.WARN;
+ @UriParam(label="advanced", description="Specifies how many requests may be outstanding at any one time.")
+ private Integer bulkRequests;
public SftpConfiguration() {
setProtocol("sftp");
@@ -269,4 +271,16 @@ public class SftpConfiguration extends RemoteFileConfiguration {
public void setJschLoggingLevel(LoggingLevel jschLoggingLevel) {
this.jschLoggingLevel = jschLoggingLevel;
}
+
+ /**
+ * Specifies how many requests may be outstanding at any one time. Increasing this value may
+ * slightly improve file transfer speed but will increase memory usage.
+ */
+ public void setBulkRequests(Integer bulkRequests) {
+ this.bulkRequests = bulkRequests;
+ }
+
+ public Integer getBulkRequests() {
+ return bulkRequests;
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/f6586d03/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
index bd25fb0..ea17aeb 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
@@ -161,8 +161,28 @@ public class SftpOperations implements RemoteFileOperations<ChannelSftp.LsEntry>
}
}
+ configureBulkRequests();
+
return true;
}
+
+ private void configureBulkRequests() {
+ try {
+ tryConfigureBulkRequests();
+ } catch (JSchException e) {
+ throw new GenericFileOperationFailedException("Failed to configure number of bulk requests", e);
+ }
+ }
+
+ private void tryConfigureBulkRequests() throws JSchException {
+ Integer bulkRequests = endpoint.getConfiguration().getBulkRequests();
+
+ if (bulkRequests != null) {
+ LOG.trace("configuring channel to use up to {} bulk request(s)", bulkRequests);
+
+ channel.setBulkRequests(bulkRequests);
+ }
+ }
protected Session createSession(final RemoteFileConfiguration configuration) throws JSchException {
final JSch jsch = new JSch();