This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git


The following commit(s) were added to refs/heads/master by this push:
     new ea10145  [create-pull-request] automated change
ea10145 is described below

commit ea10145d5b76940e705bff8ec6eb699c0d610be0
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Sat Apr 3 00:46:21 2021 +0000

    [create-pull-request] automated change
---
 .../springboot/catalog/components/aws2-s3.json     |  8 ++++
 .../src/main/docs/aws2-s3-starter.adoc             |  6 ++-
 .../springboot/AWS2S3ComponentConfiguration.java   | 49 ++++++++++++++++++++++
 docs/modules/ROOT/pages/aws2-s3-starter.adoc       |  6 ++-
 tooling/camel-spring-boot-dependencies/pom.xml     |  2 +-
 5 files changed, 68 insertions(+), 3 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-s3.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-s3.json
index 040f375..421b164 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-s3.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-s3.json
@@ -52,13 +52,17 @@
     "moveAfterRead": { "kind": "property", "displayName": "Move After Read", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Move objects from S3 bucket to a different 
bucket after they have been retrieved. To accomplish  [...]
     "prefix": { "kind": "property", "displayName": "Prefix", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "The prefix which is used in the 
com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we 
are interested in." },
     "autocloseBody": { "kind": "property", "displayName": "Autoclose Body", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.aws2.s3.AWS2S3Configuration", 
"configurationField": "configuration", "description": "If this option is true 
and includeBody is false, then the S3Object.close() met [...]
+    "batchMessageNumber": { "kind": "property", "displayName": "Batch Message 
Number", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "The number of messages composing a batch in 
stream mode" },
+    "batchSize": { "kind": "property", "displayName": "Batch Size", "group": 
"producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 1000000, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "The batch size (in bytes) in stream mode" },
     "deleteAfterWrite": { "kind": "property", "displayName": "Delete After 
Write", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Delete file object after the S3 file has been 
uploaded" },
     "keyName": { "kind": "property", "displayName": "Key Name", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Setting the key name for an element in the 
bucket through endpoint parameter" },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
     "multiPartUpload": { "kind": "property", "displayName": "Multi Part 
Upload", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "If it is true, camel will upload the file with 
multi part format, the part size is decided b [...]
+    "namingStrategy": { "kind": "property", "displayName": "Naming Strategy", 
"group": "producer", "label": "producer", "required": false, "type": "object", 
"javaType": 
"org.apache.camel.component.aws2.s3.stream.AWSS3NamingStrategyEnum", "enum": [ 
"progressive", "random" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "progressive", "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "descript [...]
     "operation": { "kind": "property", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "object", 
"javaType": "org.apache.camel.component.aws2.s3.AWS2S3Operations", "enum": [ 
"copyObject", "listObjects", "deleteObject", "deleteBucket", "listBuckets", 
"getObject", "getObjectRange" ], "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
 [...]
     "partSize": { "kind": "property", "displayName": "Part Size", "group": 
"producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 26214400, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Setup the partSize which is used in multi part 
upload, the default size is 25M." },
     "storageClass": { "kind": "property", "displayName": "Storage Class", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "The storage class to set in the 
com.amazonaws.services.s3.model.PutObjectRequest request." },
+    "streamMode": { "kind": "property", "displayName": "Stream Mode", "group": 
"producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "When stream mode is true the upload to bucket 
will be done in streaming" },
     "awsKMSKeyId": { "kind": "property", "displayName": "Aws KMSKey Id", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Define the id of KMS key to use in case KMS is 
enabled" },
     "useAwsKMS": { "kind": "property", "displayName": "Use Aws KMS", "group": 
"producer (advanced)", "label": "producer,advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Define if KMS must be used or not" },
     "useCustomerKey": { "kind": "property", "displayName": "Use Customer Key", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.aws2.s3.AWS2S3Configuration", 
"configurationField": "configuration", "description": "Define if Customer Key 
must be used or not" },
@@ -103,13 +107,17 @@
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
     "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the 
poll operation  [...]
+    "batchMessageNumber": { "kind": "parameter", "displayName": "Batch Message 
Number", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "The number of messages composing a batch in 
stream mode" },
+    "batchSize": { "kind": "parameter", "displayName": "Batch Size", "group": 
"producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 1000000, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "The batch size (in bytes) in stream mode" },
     "deleteAfterWrite": { "kind": "parameter", "displayName": "Delete After 
Write", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Delete file object after the S3 file has been 
uploaded" },
     "keyName": { "kind": "parameter", "displayName": "Key Name", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Setting the key name for an element in the 
bucket through endpoint parameter" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
     "multiPartUpload": { "kind": "parameter", "displayName": "Multi Part 
Upload", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "If it is true, camel will upload the file with 
multi part format, the part size is decided  [...]
+    "namingStrategy": { "kind": "parameter", "displayName": "Naming Strategy", 
"group": "producer", "label": "producer", "required": false, "type": "object", 
"javaType": 
"org.apache.camel.component.aws2.s3.stream.AWSS3NamingStrategyEnum", "enum": [ 
"progressive", "random" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "progressive", "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "descrip [...]
     "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "object", 
"javaType": "org.apache.camel.component.aws2.s3.AWS2S3Operations", "enum": [ 
"copyObject", "listObjects", "deleteObject", "deleteBucket", "listBuckets", 
"getObject", "getObjectRange" ], "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
[...]
     "partSize": { "kind": "parameter", "displayName": "Part Size", "group": 
"producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 26214400, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Setup the partSize which is used in multi part 
upload, the default size is 25M." },
     "storageClass": { "kind": "parameter", "displayName": "Storage Class", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "The storage class to set in the 
com.amazonaws.services.s3.model.PutObjectRequest request." },
+    "streamMode": { "kind": "parameter", "displayName": "Stream Mode", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "When stream mode is true the upload to bucket 
will be done in streaming" },
     "awsKMSKeyId": { "kind": "parameter", "displayName": "Aws KMSKey Id", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Define the id of KMS key to use in case KMS is 
enabled" },
     "useAwsKMS": { "kind": "parameter", "displayName": "Use Aws KMS", "group": 
"producer (advanced)", "label": "producer,advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.s3.AWS2S3Configuration", "configurationField": 
"configuration", "description": "Define if KMS must be used or not" },
     "useCustomerKey": { "kind": "parameter", "displayName": "Use Customer 
Key", "group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.aws2.s3.AWS2S3Configuration", 
"configurationField": "configuration", "description": "Define if Customer Key 
must be used or not" },
diff --git 
a/components-starter/camel-aws2-s3-starter/src/main/docs/aws2-s3-starter.adoc 
b/components-starter/camel-aws2-s3-starter/src/main/docs/aws2-s3-starter.adoc
index bef3807..d6baed5 100644
--- 
a/components-starter/camel-aws2-s3-starter/src/main/docs/aws2-s3-starter.adoc
+++ 
b/components-starter/camel-aws2-s3-starter/src/main/docs/aws2-s3-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-s3 with Spring Boot make sure to use the 
following Maven depende
 ----
 
 
-The component supports 44 options, which are listed below.
+The component supports 48 options, which are listed below.
 
 
 
@@ -31,6 +31,8 @@ The component supports 44 options, which are listed below.
 | *camel.component.aws2-s3.autoclose-body* | If this option is true and 
includeBody is false, then the S3Object.close() method will be called on 
exchange completion. This option is strongly related to includeBody option. In 
case of setting includeBody to false and autocloseBody to false, it will be up 
to the caller to close the S3Object stream. Setting autocloseBody to true, will 
close the S3Object stream automatically. | true | Boolean
 | *camel.component.aws2-s3.autowired-enabled* | Whether autowiring is enabled. 
This is used for automatic autowiring options (the option must be marked as 
autowired) by looking up in the registry to find if there is a single instance 
of matching type, which then gets configured on the component. This can be used 
for automatic configuring JDBC data sources, JMS connection factories, AWS 
Clients, etc. | true | Boolean
 | *camel.component.aws2-s3.aws-k-m-s-key-id* | Define the id of KMS key to use 
in case KMS is enabled |  | String
+| *camel.component.aws2-s3.batch-message-number* | The number of messages 
composing a batch in stream mode | 10 | Integer
+| *camel.component.aws2-s3.batch-size* | The batch size (in bytes) in stream 
mode | 1000000 | Integer
 | *camel.component.aws2-s3.bridge-error-handler* | Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a message and handled by the routing Error Handler. By 
default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal 
with exceptions, that will be logged at WARN or ERROR level and ignored. | 
false | Boolean
 | *camel.component.aws2-s3.configuration* | The component configuration. The 
option is a org.apache.camel.component.aws2.s3.AWS2S3Configuration type. |  | 
AWS2S3Configuration
 | *camel.component.aws2-s3.customer-algorithm* | Define the customer algorithm 
to use in case CustomerKey is enabled |  | String
@@ -51,6 +53,7 @@ The component supports 44 options, which are listed below.
 | *camel.component.aws2-s3.lazy-start-producer* | Whether the producer should 
be started lazy (on the first message). By starting lazy you can use this to 
allow CamelContext and routes to startup in situations where a producer may 
otherwise fail during starting and cause the route to fail being started. By 
deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that when 
the first message is processed th [...]
 | *camel.component.aws2-s3.move-after-read* | Move objects from S3 bucket to a 
different bucket after they have been retrieved. To accomplish the operation 
the destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | Boolean
 | *camel.component.aws2-s3.multi-part-upload* | If it is true, camel will 
upload the file with multi part format, the part size is decided by the option 
of partSize | false | Boolean
+| *camel.component.aws2-s3.naming-strategy* | The naming strategy to use in 
stream mode |  | AWSS3NamingStrategyEnum
 | *camel.component.aws2-s3.operation* | The operation to do in case the user 
don't want to do only an upload |  | AWS2S3Operations
 | *camel.component.aws2-s3.override-endpoint* | Set the need for overidding 
the endpoint. This option needs to be used in combination with 
uriEndpointOverride option | false | Boolean
 | *camel.component.aws2-s3.part-size* | Setup the partSize which is used in 
multi part upload, the default size is 25M. | 26214400 | Long
@@ -63,6 +66,7 @@ The component supports 44 options, which are listed below.
 | *camel.component.aws2-s3.region* | The region in which S3 client needs to 
work. When using this parameter, the configuration will expect the lowercase 
name of the region (for example ap-east-1) You'll need to use the name 
Region.EU_WEST_1.id() |  | String
 | *camel.component.aws2-s3.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws2-s3.storage-class* | The storage class to set in the 
com.amazonaws.services.s3.model.PutObjectRequest request. |  | String
+| *camel.component.aws2-s3.stream-mode* | When stream mode is true the upload 
to bucket will be done in streaming | false | Boolean
 | *camel.component.aws2-s3.trust-all-certificates* | If we want to trust all 
certificates in case of overriding the endpoint | false | Boolean
 | *camel.component.aws2-s3.uri-endpoint-override* | Set the overriding uri 
endpoint. This option needs to be used in combination with overrideEndpoint 
option |  | String
 | *camel.component.aws2-s3.use-aws-k-m-s* | Define if KMS must be used or not 
| false | Boolean
diff --git 
a/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConfiguration.java
 
b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConfiguration.java
index f3486d9..0767d65 100644
--- 
a/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConfiguration.java
+++ 
b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConfiguration.java
@@ -20,6 +20,7 @@ import javax.annotation.Generated;
 import org.apache.camel.component.aws2.s3.AWS2S3Component;
 import org.apache.camel.component.aws2.s3.AWS2S3Configuration;
 import org.apache.camel.component.aws2.s3.AWS2S3Operations;
+import org.apache.camel.component.aws2.s3.stream.AWSS3NamingStrategyEnum;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import software.amazon.awssdk.core.Protocol;
@@ -212,6 +213,14 @@ public class AWS2S3ComponentConfiguration
      */
     private Boolean autocloseBody = true;
     /**
+     * The number of messages composing a batch in stream mode
+     */
+    private Integer batchMessageNumber = 10;
+    /**
+     * The batch size (in bytes) in stream mode
+     */
+    private Integer batchSize = 1000000;
+    /**
      * Delete file object after the S3 file has been uploaded
      */
     private Boolean deleteAfterWrite = false;
@@ -237,6 +246,10 @@ public class AWS2S3ComponentConfiguration
      */
     private Boolean multiPartUpload = false;
     /**
+     * The naming strategy to use in stream mode
+     */
+    private AWSS3NamingStrategyEnum namingStrategy = 
AWSS3NamingStrategyEnum.progressive;
+    /**
      * The operation to do in case the user don't want to do only an upload
      */
     private AWS2S3Operations operation;
@@ -251,6 +264,10 @@ public class AWS2S3ComponentConfiguration
      */
     private String storageClass;
     /**
+     * When stream mode is true the upload to bucket will be done in streaming
+     */
+    private Boolean streamMode = false;
+    /**
      * Define the id of KMS key to use in case KMS is enabled
      */
     private String awsKMSKeyId;
@@ -521,6 +538,22 @@ public class AWS2S3ComponentConfiguration
         this.autocloseBody = autocloseBody;
     }
 
+    public Integer getBatchMessageNumber() {
+        return batchMessageNumber;
+    }
+
+    public void setBatchMessageNumber(Integer batchMessageNumber) {
+        this.batchMessageNumber = batchMessageNumber;
+    }
+
+    public Integer getBatchSize() {
+        return batchSize;
+    }
+
+    public void setBatchSize(Integer batchSize) {
+        this.batchSize = batchSize;
+    }
+
     public Boolean getDeleteAfterWrite() {
         return deleteAfterWrite;
     }
@@ -553,6 +586,14 @@ public class AWS2S3ComponentConfiguration
         this.multiPartUpload = multiPartUpload;
     }
 
+    public AWSS3NamingStrategyEnum getNamingStrategy() {
+        return namingStrategy;
+    }
+
+    public void setNamingStrategy(AWSS3NamingStrategyEnum namingStrategy) {
+        this.namingStrategy = namingStrategy;
+    }
+
     public AWS2S3Operations getOperation() {
         return operation;
     }
@@ -577,6 +618,14 @@ public class AWS2S3ComponentConfiguration
         this.storageClass = storageClass;
     }
 
+    public Boolean getStreamMode() {
+        return streamMode;
+    }
+
+    public void setStreamMode(Boolean streamMode) {
+        this.streamMode = streamMode;
+    }
+
     public String getAwsKMSKeyId() {
         return awsKMSKeyId;
     }
diff --git a/docs/modules/ROOT/pages/aws2-s3-starter.adoc 
b/docs/modules/ROOT/pages/aws2-s3-starter.adoc
index bef3807..d6baed5 100644
--- a/docs/modules/ROOT/pages/aws2-s3-starter.adoc
+++ b/docs/modules/ROOT/pages/aws2-s3-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-s3 with Spring Boot make sure to use the 
following Maven depende
 ----
 
 
-The component supports 44 options, which are listed below.
+The component supports 48 options, which are listed below.
 
 
 
@@ -31,6 +31,8 @@ The component supports 44 options, which are listed below.
 | *camel.component.aws2-s3.autoclose-body* | If this option is true and 
includeBody is false, then the S3Object.close() method will be called on 
exchange completion. This option is strongly related to includeBody option. In 
case of setting includeBody to false and autocloseBody to false, it will be up 
to the caller to close the S3Object stream. Setting autocloseBody to true, will 
close the S3Object stream automatically. | true | Boolean
 | *camel.component.aws2-s3.autowired-enabled* | Whether autowiring is enabled. 
This is used for automatic autowiring options (the option must be marked as 
autowired) by looking up in the registry to find if there is a single instance 
of matching type, which then gets configured on the component. This can be used 
for automatic configuring JDBC data sources, JMS connection factories, AWS 
Clients, etc. | true | Boolean
 | *camel.component.aws2-s3.aws-k-m-s-key-id* | Define the id of KMS key to use 
in case KMS is enabled |  | String
+| *camel.component.aws2-s3.batch-message-number* | The number of messages 
composing a batch in stream mode | 10 | Integer
+| *camel.component.aws2-s3.batch-size* | The batch size (in bytes) in stream 
mode | 1000000 | Integer
 | *camel.component.aws2-s3.bridge-error-handler* | Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a message and handled by the routing Error Handler. By 
default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal 
with exceptions, that will be logged at WARN or ERROR level and ignored. | 
false | Boolean
 | *camel.component.aws2-s3.configuration* | The component configuration. The 
option is a org.apache.camel.component.aws2.s3.AWS2S3Configuration type. |  | 
AWS2S3Configuration
 | *camel.component.aws2-s3.customer-algorithm* | Define the customer algorithm 
to use in case CustomerKey is enabled |  | String
@@ -51,6 +53,7 @@ The component supports 44 options, which are listed below.
 | *camel.component.aws2-s3.lazy-start-producer* | Whether the producer should 
be started lazy (on the first message). By starting lazy you can use this to 
allow CamelContext and routes to startup in situations where a producer may 
otherwise fail during starting and cause the route to fail being started. By 
deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that when 
the first message is processed th [...]
 | *camel.component.aws2-s3.move-after-read* | Move objects from S3 bucket to a 
different bucket after they have been retrieved. To accomplish the operation 
the destinationBucket option must be set. The copy bucket operation is only 
performed if the Exchange is committed. If a rollback occurs, the object is not 
moved. | false | Boolean
 | *camel.component.aws2-s3.multi-part-upload* | If it is true, camel will 
upload the file with multi part format, the part size is decided by the option 
of partSize | false | Boolean
+| *camel.component.aws2-s3.naming-strategy* | The naming strategy to use in 
stream mode |  | AWSS3NamingStrategyEnum
 | *camel.component.aws2-s3.operation* | The operation to do in case the user 
don't want to do only an upload |  | AWS2S3Operations
 | *camel.component.aws2-s3.override-endpoint* | Set the need for overidding 
the endpoint. This option needs to be used in combination with 
uriEndpointOverride option | false | Boolean
 | *camel.component.aws2-s3.part-size* | Setup the partSize which is used in 
multi part upload, the default size is 25M. | 26214400 | Long
@@ -63,6 +66,7 @@ The component supports 44 options, which are listed below.
 | *camel.component.aws2-s3.region* | The region in which S3 client needs to 
work. When using this parameter, the configuration will expect the lowercase 
name of the region (for example ap-east-1) You'll need to use the name 
Region.EU_WEST_1.id() |  | String
 | *camel.component.aws2-s3.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws2-s3.storage-class* | The storage class to set in the 
com.amazonaws.services.s3.model.PutObjectRequest request. |  | String
+| *camel.component.aws2-s3.stream-mode* | When stream mode is true the upload 
to bucket will be done in streaming | false | Boolean
 | *camel.component.aws2-s3.trust-all-certificates* | If we want to trust all 
certificates in case of overriding the endpoint | false | Boolean
 | *camel.component.aws2-s3.uri-endpoint-override* | Set the overriding uri 
endpoint. This option needs to be used in combination with overrideEndpoint 
option |  | String
 | *camel.component.aws2-s3.use-aws-k-m-s* | Define if KMS must be used or not 
| false | Boolean
diff --git a/tooling/camel-spring-boot-dependencies/pom.xml 
b/tooling/camel-spring-boot-dependencies/pom.xml
index 5464a0a..12b8429 100644
--- a/tooling/camel-spring-boot-dependencies/pom.xml
+++ b/tooling/camel-spring-boot-dependencies/pom.xml
@@ -228,7 +228,7 @@
       <dependency>
         <groupId>com.cloudbees.thirdparty</groupId>
         <artifactId>zendesk-java-client</artifactId>
-        <version>0.14.0</version>
+        <version>0.14.1</version>
       </dependency>
       <dependency>
         <groupId>com.dropbox.core</groupId>

Reply via email to