Repository: camel
Updated Branches:
  refs/heads/master 4fa9ef24e -> ff87129bf


CAMEL-8006 S3Producer should use File to upload directly


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

Branch: refs/heads/master
Commit: ff87129bf08548e1f1825f2fcd90cb7dee37ca27
Parents: 4fa9ef2
Author: Willem Jiang <willem.ji...@gmail.com>
Authored: Fri Nov 7 14:37:52 2014 +0800
Committer: Willem Jiang <willem.ji...@gmail.com>
Committed: Fri Nov 7 14:37:52 2014 +0800

----------------------------------------------------------------------
 .../java/org/apache/camel/component/aws/s3/S3Producer.java   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/ff87129b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
index 38db307..4d6f3ae 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Producer.java
@@ -167,11 +167,15 @@ public class S3Producer extends DefaultProducer {
 
         File filePayload = null;
         Object obj = exchange.getIn().getMandatoryBody();
+        PutObjectRequest putObjectRequest = null;
         if (obj instanceof File) {
             filePayload = (File) obj;
-        }
-        PutObjectRequest putObjectRequest = new 
PutObjectRequest(getConfiguration().getBucketName(),
+            // submit the request without loading it into memory
+            putObjectRequest = new 
PutObjectRequest(getConfiguration().getBucketName(), determineKey(exchange), 
filePayload);
+        } else {
+            putObjectRequest = new 
PutObjectRequest(getConfiguration().getBucketName(),
                 determineKey(exchange), 
exchange.getIn().getMandatoryBody(InputStream.class), objectMetadata);
+        }
 
         String storageClass = determineStorageClass(exchange);
         if (storageClass != null) {

Reply via email to