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.git
commit a48779e221f0f837650d19b6f41b43cc616f750f Author: Andrea Cosentino <[email protected]> AuthorDate: Mon Oct 12 18:07:23 2020 +0200 CAMEL-15647 - Camel-AWS2-Kinesis-*: Added a CborEnabled option explicitly, kinesis --- .../component/aws2/kinesis/Kinesis2Configuration.java | 14 ++++++++++++-- .../camel/component/aws2/kinesis/Kinesis2Endpoint.java | 8 ++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Configuration.java b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Configuration.java index d978969..d1607f5 100644 --- a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Configuration.java +++ b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Configuration.java @@ -70,6 +70,9 @@ public class Kinesis2Configuration implements Cloneable { description = "Setting the autoDiscoverClient mechanism, if true, the component will " + " look for a client instance in the registry automatically otherwise it will skip that checking") private boolean autoDiscoverClient = true; + @UriParam(label = "common", defaultValue = "true", + description = "This option will set the CBOR_ENABLED property during the execution") + private boolean cborEnabled = true; public KinesisClient getAmazonKinesisClient() { return amazonKinesisClient; @@ -190,12 +193,19 @@ public class Kinesis2Configuration implements Cloneable { public void setAutoDiscoverClient(boolean autoDiscoverClient) { this.autoDiscoverClient = autoDiscoverClient; } + + public boolean isCborEnabled() { + return cborEnabled; + } + + public void setCborEnabled(boolean cborEnabled) { + this.cborEnabled = cborEnabled; + } // ************************************************* // // ************************************************* - - public Kinesis2Configuration copy() { + public Kinesis2Configuration copy() { try { return (Kinesis2Configuration) super.clone(); } catch (CloneNotSupportedException e) { diff --git a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java index 072e8bb..20c8433 100644 --- a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java +++ b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2Endpoint.java @@ -40,6 +40,8 @@ import software.amazon.awssdk.services.kinesis.model.Record; import software.amazon.awssdk.services.kinesis.model.ShardIteratorType; import software.amazon.awssdk.utils.AttributeMap; +import static software.amazon.awssdk.core.SdkSystemSetting.CBOR_ENABLED; + /** * Consume and produce records from and to AWS Kinesis Streams using AWS SDK version 2.x. */ @@ -60,6 +62,9 @@ public class Kinesis2Endpoint extends ScheduledPollEndpoint { @Override protected void doStart() throws Exception { super.doStart(); + if (!configuration.isCborEnabled()) { + System.setProperty(CBOR_ENABLED.property(), "false"); + } kinesisClient = configuration.getAmazonKinesisClient() != null ? configuration.getAmazonKinesisClient() : createKinesisClient(); @@ -78,6 +83,9 @@ public class Kinesis2Endpoint extends ScheduledPollEndpoint { kinesisClient.close(); } } + if (!configuration.isCborEnabled()) { + System.clearProperty(CBOR_ENABLED.property()); + } super.doStop(); }
