From f8d380845d40a735b72c0e3573f6ed3ae68ba135 Mon Sep 17 00:00:00 2001 From: nyo Date: Fri, 23 Feb 2018 14:50:24 +0100 Subject: [PATCH] Changes for the pull request after review comments Changes according to review requests --- .../worker/NoOpWorkerStateChangeListener.java | 2 -- .../clientlibrary/lib/worker/Worker.java | 25 ++++--------------- .../lib/worker/WorkerStateChangeListener.java | 17 +++++++++++++ 3 files changed, 22 insertions(+), 22 deletions(-) create mode 100644 src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerStateChangeListener.java diff --git a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/NoOpWorkerStateChangeListener.java b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/NoOpWorkerStateChangeListener.java index 854d9e06..152a43af 100644 --- a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/NoOpWorkerStateChangeListener.java +++ b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/NoOpWorkerStateChangeListener.java @@ -1,7 +1,5 @@ package com.amazonaws.services.kinesis.clientlibrary.lib.worker; -import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.WorkerStateChangeListener; - public class NoOpWorkerStateChangeListener implements WorkerStateChangeListener { /** diff --git a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java index f87d2d73..7b3e8ca1 100644 --- a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java +++ b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java @@ -71,6 +71,7 @@ public class Worker implements Runnable { private static final Log LOG = LogFactory.getLog(Worker.class); private static final int MAX_INITIALIZATION_ATTEMPTS = 20; + private static final WorkerStateChangeListener DEFAULT_WORKER_STATE_CHANGE_LISTENER = new NoOpWorkerStateChangeListener(); private WorkerLog wlog = new WorkerLog(); @@ -278,7 +279,7 @@ public class Worker implements Runnable { config.getShardPrioritizationStrategy(), config.getRetryGetRecordsInSeconds(), config.getMaxGetRecordsThreadPool(), - new NoOpWorkerStateChangeListener()); + DEFAULT_WORKER_STATE_CHANGE_LISTENER); // If a region name was explicitly specified, use it as the region for Amazon Kinesis and Amazon DynamoDB. if (config.getRegionName() != null) { @@ -350,7 +351,7 @@ public class Worker implements Runnable { this(applicationName, recordProcessorFactory, config, streamConfig, initialPositionInStream, parentShardPollIntervalMillis, shardSyncIdleTimeMillis, cleanupLeasesUponShardCompletion, checkpoint, leaseCoordinator, execService, metricsFactory, taskBackoffTimeMillis, failoverTimeMillis, skipShardSyncAtWorkerInitializationIfLeasesExist, - shardPrioritization, Optional.empty(), Optional.empty(), new NoOpWorkerStateChangeListener()); + shardPrioritization, Optional.empty(), Optional.empty(), DEFAULT_WORKER_STATE_CHANGE_LISTENER); } /** @@ -886,22 +887,6 @@ public class Worker implements Runnable { } - /** - * A listener for callbacks on changes worker state - */ - @FunctionalInterface - public interface WorkerStateChangeListener { - enum WorkerState { - CREATED, - INITIALIZING, - STARTED, - SHUTTING_DOWN, - SHUT_DOWN - } - - void onWorkerStateChange(WorkerState newState); - } - /** * Logger for suppressing too much INFO logging. To avoid too much logging information Worker will output logging at * INFO level for a single pass through the main loop every minute. At DEBUG level it will output all INFO logs on @@ -1345,8 +1330,8 @@ public class Worker implements Runnable { kinesisProxy = new KinesisProxy(config, kinesisClient); } - if (workerStateChangeListener == null){ - workerStateChangeListener = new NoOpWorkerStateChangeListener(); + if (workerStateChangeListener == null) { + workerStateChangeListener = DEFAULT_WORKER_STATE_CHANGE_LISTENER; } return new Worker(config.getApplicationName(), diff --git a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerStateChangeListener.java b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerStateChangeListener.java new file mode 100644 index 00000000..50340af4 --- /dev/null +++ b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerStateChangeListener.java @@ -0,0 +1,17 @@ +package com.amazonaws.services.kinesis.clientlibrary.lib.worker; + +/** + * A listener for callbacks on changes worker state + */ +@FunctionalInterface +public interface WorkerStateChangeListener { + enum WorkerState { + CREATED, + INITIALIZING, + STARTED, + SHUTTING_DOWN, + SHUT_DOWN + } + + void onWorkerStateChange(WorkerState newState); +}