From ef030eeff2248804d21783687c307d7b41e00830 Mon Sep 17 00:00:00 2001 From: Connie Date: Sat, 22 Jun 2019 00:48:14 -0700 Subject: [PATCH] Adding try/catch when unable to reschedule scheduler task. --- .../implementation/ActiveClientTokenManager.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/eventhubs/client/azure-eventhubs/src/main/java/com/azure/messaging/eventhubs/implementation/ActiveClientTokenManager.java b/eventhubs/client/azure-eventhubs/src/main/java/com/azure/messaging/eventhubs/implementation/ActiveClientTokenManager.java index 537bb1cfbf5a..46b92b8265eb 100644 --- a/eventhubs/client/azure-eventhubs/src/main/java/com/azure/messaging/eventhubs/implementation/ActiveClientTokenManager.java +++ b/eventhubs/client/azure-eventhubs/src/main/java/com/azure/messaging/eventhubs/implementation/ActiveClientTokenManager.java @@ -83,7 +83,12 @@ Mono authorize() { lastRefreshInterval.set(refreshIntervalMS); // This converts it to milliseconds - this.timer.schedule(new RefreshAuthorizationToken(), refreshIntervalMS); + try { + this.timer.schedule(new RefreshAuthorizationToken(), refreshIntervalMS); + } catch (IllegalStateException e) { + logger.asWarning().log("Unable to reschedule timer task.", e); + hasScheduled.set(false); + } } return expiresOn; @@ -123,8 +128,11 @@ public void run() { logger.asInfo().log("Success. Rescheduling refresh authorization task."); sink.next(AmqpResponseCode.ACCEPTED); - if (hasScheduled.getAndSet(true)) { + try { timer.schedule(new RefreshAuthorizationToken(), lastRefreshInterval.get()); + } catch (IllegalStateException e) { + logger.asWarning().log("Unable to reschedule timer task.", e); + hasScheduled.set(false); } }); }