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 0dbc1e27..60bc15cd 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 @@ -489,12 +489,15 @@ public class Worker implements Runnable { shutdown(); } - while (!shouldShutdown()) { - runProcessLoop(); + try { + while (!shouldShutdown()) { + runProcessLoop(); + } + } + finally { + finalShutdown(); + LOG.info("Worker loop is complete. Exiting from worker."); } - - finalShutdown(); - LOG.info("Worker loop is complete. Exiting from worker."); } @VisibleForTesting