From a7079a81e47310e9638d2e16917d4d9965287720 Mon Sep 17 00:00:00 2001 From: Cory-Bradshaw <44377622+Cory-Bradshaw@users.noreply.github.com> Date: Thu, 9 Jan 2020 10:10:06 -0800 Subject: [PATCH] Adding backward compatible constructors that use the default DDB Billing Mode (#673) Co-authored-by: cobrads <44237866+cobrads@users.noreply.github.com> --- .../impl/KinesisClientLeaseManager.java | 25 +++++++++++++++++++ .../kinesis/leases/impl/LeaseManager.java | 13 ++++++++++ 2 files changed, 38 insertions(+) diff --git a/src/main/java/com/amazonaws/services/kinesis/leases/impl/KinesisClientLeaseManager.java b/src/main/java/com/amazonaws/services/kinesis/leases/impl/KinesisClientLeaseManager.java index b19f8471..31ea0a23 100644 --- a/src/main/java/com/amazonaws/services/kinesis/leases/impl/KinesisClientLeaseManager.java +++ b/src/main/java/com/amazonaws/services/kinesis/leases/impl/KinesisClientLeaseManager.java @@ -15,6 +15,7 @@ package com.amazonaws.services.kinesis.leases.impl; import com.amazonaws.services.dynamodbv2.model.BillingMode; +import com.amazonaws.services.kinesis.clientlibrary.lib.worker.KinesisClientLibConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -33,6 +34,17 @@ public class KinesisClientLeaseManager extends LeaseManager @SuppressWarnings("unused") private static final Log LOG = LogFactory.getLog(KinesisClientLeaseManager.class); + /** + * Constructor. + * + * @param table Leases table + * @param dynamoDBClient DynamoDB client to use + */ + @Deprecated + public KinesisClientLeaseManager(String table, AmazonDynamoDB dynamoDBClient) { + this(table, dynamoDBClient, false, KinesisClientLibConfiguration.DEFAULT_DDB_BILLING_MODE); + } + /** * Constructor. * @@ -43,6 +55,19 @@ public class KinesisClientLeaseManager extends LeaseManager this(table, dynamoDBClient, false, billingMode); } + /** + * Constructor for integration tests - see comment on superclass for documentation on setting the consistentReads + * flag. + * + * @param table leases table + * @param dynamoDBClient DynamoDB client to use + * @param consistentReads true if we want consistent reads for testing purposes. + */ + @Deprecated + public KinesisClientLeaseManager(String table, AmazonDynamoDB dynamoDBClient, boolean consistentReads) { + super(table, dynamoDBClient, new KinesisClientLeaseSerializer(), consistentReads, KinesisClientLibConfiguration.DEFAULT_DDB_BILLING_MODE); + } + /** * Constructor for integration tests - see comment on superclass for documentation on setting the consistentReads * flag. diff --git a/src/main/java/com/amazonaws/services/kinesis/leases/impl/LeaseManager.java b/src/main/java/com/amazonaws/services/kinesis/leases/impl/LeaseManager.java index 1c70e307..1e747235 100644 --- a/src/main/java/com/amazonaws/services/kinesis/leases/impl/LeaseManager.java +++ b/src/main/java/com/amazonaws/services/kinesis/leases/impl/LeaseManager.java @@ -20,6 +20,7 @@ import java.util.Map; import java.util.concurrent.TimeUnit; import com.amazonaws.services.dynamodbv2.model.BillingMode; +import com.amazonaws.services.kinesis.clientlibrary.lib.worker.KinesisClientLibConfiguration; import com.amazonaws.services.kinesis.leases.util.DynamoUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -64,6 +65,18 @@ public class LeaseManager implements ILeaseManager { protected boolean consistentReads; private BillingMode billingMode; + /** + * Constructor. + * + * @param table leases table + * @param dynamoDBClient DynamoDB client to use + * @param serializer LeaseSerializer to use to convert to/from DynamoDB objects. + */ + @Deprecated + public LeaseManager(String table, AmazonDynamoDB dynamoDBClient, ILeaseSerializer serializer) { + this(table, dynamoDBClient, serializer, false, KinesisClientLibConfiguration.DEFAULT_DDB_BILLING_MODE); + } + /** * Constructor. *