You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/10/12 16:18:48 UTC

[camel] 01/06: CAMEL-15647 - Camel-AWS2-Kinesis-*: Added a CborEnabled option explicitly, kinesis

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 <an...@gmail.com>
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();
     }