This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push: new f8593aa [create-pull-request] automated change f8593aa is described below commit f8593aa5ada79fa42bb60eb12636d7cc491c2511 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> AuthorDate: Thu Nov 11 00:58:35 2021 +0000 [create-pull-request] automated change --- .../springboot/catalog/components/aws2-kinesis.json | 2 ++ .../src/main/docs/aws2-kinesis.json | 6 ++++++ .../springboot/Kinesis2ComponentConfiguration.java | 16 ++++++++++++++++ .../kinesis/springboot/Kinesis2ComponentConverter.java | 2 ++ .../modules/spring-boot/examples/json/aws2-kinesis.json | 6 ++++++ 5 files changed, 32 insertions(+) diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-kinesis.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-kinesis.json index 2511392..754b2dc 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-kinesis.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-kinesis.json @@ -36,6 +36,7 @@ "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 me [...] "iteratorType": { "kind": "property", "displayName": "Iterator Type", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.kinesis.model.ShardIteratorType", "enum": [ "AT_SEQUENCE_NUMBER", "AFTER_SEQUENCE_NUMBER", "TRIM_HORIZON", "LATEST", "AT_TIMESTAMP", "null" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRIM_HORIZON", "configurationClass": "org.apache.camel.component.aws2.kinesi [...] "maxResultsPerRequest": { "kind": "property", "displayName": "Max Results Per Request", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "description": "Maximum number of records that will be fetched in each poll" }, + "resumeStrategy": { "kind": "property", "displayName": "Resume Strategy", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "KinesisUserConfigurationResumeStrategy", "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "descri [...] "sequenceNumber": { "kind": "property", "displayName": "Sequence Number", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "description": "The sequence number to start polling from. Required if iteratorType is set to AFTER_SEQUENCE_NUMBER or [...] "shardClosed": { "kind": "property", "displayName": "Shard Closed", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum", "enum": [ "ignore", "fail", "silent" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "ignore", "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "des [...] "shardId": { "kind": "property", "displayName": "Shard Id", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "description": "Defines which shardId in the Kinesis stream to get records from" }, @@ -59,6 +60,7 @@ "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "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 m [...] "iteratorType": { "kind": "parameter", "displayName": "Iterator Type", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.kinesis.model.ShardIteratorType", "enum": [ "AT_SEQUENCE_NUMBER", "AFTER_SEQUENCE_NUMBER", "TRIM_HORIZON", "LATEST", "AT_TIMESTAMP", "null" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TRIM_HORIZON", "configurationClass": "org.apache.camel.component.aws2.kines [...] "maxResultsPerRequest": { "kind": "parameter", "displayName": "Max Results Per Request", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "description": "Maximum number of records that will be fetched in each poll" }, + "resumeStrategy": { "kind": "parameter", "displayName": "Resume Strategy", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "KinesisUserConfigurationResumeStrategy", "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "descr [...] "sendEmptyMessageWhenIdle": { "kind": "parameter", "displayName": "Send Empty Message When Idle", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead." }, "sequenceNumber": { "kind": "parameter", "displayName": "Sequence Number", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "description": "The sequence number to start polling from. Required if iteratorType is set to AFTER_SEQUENCE_NUMBER or [...] "shardClosed": { "kind": "parameter", "displayName": "Shard Closed", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum", "enum": [ "ignore", "fail", "silent" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "ignore", "configurationClass": "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration", "configurationField": "configuration", "de [...] diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/docs/aws2-kinesis.json b/components-starter/camel-aws2-kinesis-starter/src/main/docs/aws2-kinesis.json index ee68f55..1a1c6fd 100644 --- a/components-starter/camel-aws2-kinesis-starter/src/main/docs/aws2-kinesis.json +++ b/components-starter/camel-aws2-kinesis-starter/src/main/docs/aws2-kinesis.json @@ -239,6 +239,12 @@ "sourceType": "org.apache.camel.component.aws2.kinesis.springboot.Kinesis2ComponentConfiguration" }, { + "name": "camel.component.aws2-kinesis.resume-strategy", + "type": "org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy", + "description": "Defines a resume strategy for AWS Kinesis. The default strategy reads the sequenceNumber if provided. The option is a org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy type.", + "sourceType": "org.apache.camel.component.aws2.kinesis.springboot.Kinesis2ComponentConfiguration" + }, + { "name": "camel.component.aws2-kinesis.secret-key", "type": "java.lang.String", "description": "Amazon AWS Secret Key", diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConfiguration.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConfiguration.java index 1810cda..8ac0674 100644 --- a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConfiguration.java +++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConfiguration.java @@ -20,6 +20,7 @@ import javax.annotation.Generated; import org.apache.camel.component.aws2.kinesis.Kinesis2Component; import org.apache.camel.component.aws2.kinesis.Kinesis2Configuration; import org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum; +import org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy; import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon; import org.springframework.boot.context.properties.ConfigurationProperties; import software.amazon.awssdk.core.Protocol; @@ -114,6 +115,13 @@ public class Kinesis2ComponentConfiguration */ private Integer maxResultsPerRequest = 1; /** + * Defines a resume strategy for AWS Kinesis. The default strategy reads the + * sequenceNumber if provided. The option is a + * org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy + * type. + */ + private KinesisResumeStrategy resumeStrategy; + /** * The sequence number to start polling from. Required if iteratorType is * set to AFTER_SEQUENCE_NUMBER or AT_SEQUENCE_NUMBER */ @@ -272,6 +280,14 @@ public class Kinesis2ComponentConfiguration this.maxResultsPerRequest = maxResultsPerRequest; } + public KinesisResumeStrategy getResumeStrategy() { + return resumeStrategy; + } + + public void setResumeStrategy(KinesisResumeStrategy resumeStrategy) { + this.resumeStrategy = resumeStrategy; + } + public String getSequenceNumber() { return sequenceNumber; } diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java index 9452f49..4ce5678 100644 --- a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java +++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java @@ -43,6 +43,7 @@ public class Kinesis2ComponentConverter implements GenericConverter { Set<ConvertiblePair> answer = new LinkedHashSet<>(); answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kinesis.KinesisClient.class)); answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kinesis.Kinesis2Configuration.class)); + answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy.class)); return answer; } @@ -61,6 +62,7 @@ public class Kinesis2ComponentConverter implements GenericConverter { switch (targetType.getName()) { case "software.amazon.awssdk.services.kinesis.KinesisClient": return applicationContext.getBean(ref, software.amazon.awssdk.services.kinesis.KinesisClient.class); case "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration": return applicationContext.getBean(ref, org.apache.camel.component.aws2.kinesis.Kinesis2Configuration.class); + case "org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy": return applicationContext.getBean(ref, org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy.class); } return null; } diff --git a/docs/components/modules/spring-boot/examples/json/aws2-kinesis.json b/docs/components/modules/spring-boot/examples/json/aws2-kinesis.json index ee68f55..1a1c6fd 100644 --- a/docs/components/modules/spring-boot/examples/json/aws2-kinesis.json +++ b/docs/components/modules/spring-boot/examples/json/aws2-kinesis.json @@ -239,6 +239,12 @@ "sourceType": "org.apache.camel.component.aws2.kinesis.springboot.Kinesis2ComponentConfiguration" }, { + "name": "camel.component.aws2-kinesis.resume-strategy", + "type": "org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy", + "description": "Defines a resume strategy for AWS Kinesis. The default strategy reads the sequenceNumber if provided. The option is a org.apache.camel.component.aws2.kinesis.consumer.KinesisResumeStrategy type.", + "sourceType": "org.apache.camel.component.aws2.kinesis.springboot.Kinesis2ComponentConfiguration" + }, + { "name": "camel.component.aws2-kinesis.secret-key", "type": "java.lang.String", "description": "Amazon AWS Secret Key",