Added logging and try/catch to external task. 18/111918/1
authorBoslet, Cory <cory.boslet@att.com>
Mon, 31 Aug 2020 19:17:38 +0000 (15:17 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Mon, 31 Aug 2020 19:17:38 +0000 (15:17 -0400)
Added logging and try/catch to external task.

Issue-ID: SO-3210
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: Id3769b5bfb02bc439863d4a92c0e2937c9f4255f

common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java

index fff82ea..33958a7 100644 (file)
@@ -1,8 +1,10 @@
 package org.onap.so.utils;
 
 import java.security.GeneralSecurityException;
+import java.util.List;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
 import org.camunda.bpm.client.ExternalTaskClient;
 import org.camunda.bpm.client.interceptor.ClientRequestInterceptor;
 import org.camunda.bpm.client.interceptor.auth.BasicAuthProvider;
@@ -75,7 +77,20 @@ public class ExternalTaskServiceUtils {
     @ScheduledLogging
     @Scheduled(fixedDelay = 30000)
     public void checkAllClientsActive() {
-        getClients().stream().filter(client -> !client.isActive()).forEach(ExternalTaskClient::start);
+        try {
+            logger.debug("Executing scheduled task to check and restart external task clients"); // TODO remove
+                                                                                                 // eventually
+            List<ExternalTaskClient> inactiveClients =
+                    getClients().stream().filter(client -> !client.isActive()).collect(Collectors.toList());
+
+            inactiveClients.forEach(c -> {
+                logger.debug("External Task Client found to be inactive. Restarting Client.");
+                c.start();
+            });
+        } catch (Exception e) {
+            logger.error("Exception occured in checkAllClientsActive", e);
+        }
+
     }
 
     protected Set<ExternalTaskClient> getClients() {