summaryrefslogtreecommitdiffstats
path: root/common/src
diff options
context:
space:
mode:
Diffstat (limited to 'common/src')
-rw-r--r--common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java b/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java
index fff82ea5bc..33958a7850 100644
--- a/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java
+++ b/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java
@@ -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() {