From 20d8093fd688f0385b7bb9b8e4b09ff60ef23f26 Mon Sep 17 00:00:00 2001 From: s00370346 Date: Tue, 2 Jul 2019 11:09:44 +0530 Subject: Issue-ID: DCAEGEN2-1644 Restconf Collector updating configuration again and again Signed-off-by: s00370346 Change-Id: I9adda683cfe63edf4275e9bbe32b6d2acacd15fd --- src/main/java/org/onap/dcae/RestConfCollector.java | 9 ++++++++- .../org/onap/dcae/common/DataChangeEventListener.java | 1 - .../org/onap/dcae/controller/AccessController.java | 10 ++++++++++ .../dcae/controller/PersistentEventConnection.java | 19 +++++++++++++++++-- 4 files changed, 35 insertions(+), 4 deletions(-) (limited to 'src/main/java/org') diff --git a/src/main/java/org/onap/dcae/RestConfCollector.java b/src/main/java/org/onap/dcae/RestConfCollector.java index 05c299e..545bfd4 100644 --- a/src/main/java/org/onap/dcae/RestConfCollector.java +++ b/src/main/java/org/onap/dcae/RestConfCollector.java @@ -78,8 +78,8 @@ public class RestConfCollector { init(); app.setAddCommandLineProperties(true); context = app.run(); - configLoader.updateConfig(); controllerConfig(properties); + configLoader.updateConfig(); oplog.info("RestConfController running ....."); } @@ -153,6 +153,13 @@ public class RestConfCollector { } private static void controllerConfigCleanup() { + log.info("controller ConfigCleanup!"); + for (java.util.Map.Entry entry : controllerStore.entrySet()) { + AccessController acstlr = entry.getValue(); + log.info("controller detail " + acstlr.getCfgInfo().getController_restapiUrl()); + acstlr.clearAllPersistentConnectios(); + controllerStore.remove(acstlr); + } controllerStore.clear(); } diff --git a/src/main/java/org/onap/dcae/common/DataChangeEventListener.java b/src/main/java/org/onap/dcae/common/DataChangeEventListener.java index 2492c21..6cf2291 100755 --- a/src/main/java/org/onap/dcae/common/DataChangeEventListener.java +++ b/src/main/java/org/onap/dcae/common/DataChangeEventListener.java @@ -41,7 +41,6 @@ public class DataChangeEventListener implements EventListener { @Override public void onEvent(InboundEvent event) { try { - log.info("SSE Event is received"); String s = event.readData(); jsonType type = isJSONValid(s); if (type == jsonType.OBJECT) { diff --git a/src/main/java/org/onap/dcae/controller/AccessController.java b/src/main/java/org/onap/dcae/controller/AccessController.java index daf6237..5050b4b 100644 --- a/src/main/java/org/onap/dcae/controller/AccessController.java +++ b/src/main/java/org/onap/dcae/controller/AccessController.java @@ -294,4 +294,14 @@ public class AccessController { fetchTokenId(); } } + + public void clearAllPersistentConnectios() { + log.info("clearAll PersistentConnectios !"); + for (java.util.Map.Entry entry : eventList.entrySet()) { + PersistentEventConnection conn = entry.getValue(); + conn.shutdown(); + } + accesstokenRenewal.cancel(true); + scheduledThreadPoolExecutor.shutdown(); + } } diff --git a/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java b/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java index 14eb2e3..ecbec31 100644 --- a/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java +++ b/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java @@ -193,7 +193,6 @@ public class PersistentEventConnection implements Runnable { openState = eventSrc.isOpen(); log.info("SSE state " + eventSrc.isOpen()); } - log.info("SSE state " + openState); if (eventSrc != null && !openState) { log.info("SSE state " + eventSrc.isOpen() + " Resubscribing after 1 minute..."); @@ -201,10 +200,15 @@ public class PersistentEventConnection implements Runnable { /* Resubscribe again */ subscribe = true; } + } catch (InterruptedException ie) { + log.info("Exception: " + ie.getMessage()); + running = false; + eventSrc.close(); + Thread.currentThread().interrupt(); + return; } catch (Exception e){ /* Other exception we can keep on retrying */ log.info("Connection failed: " + e.getMessage()); - running = true; subscribe = true; if (eventSrc != null) { eventSrc.close(); @@ -212,6 +216,13 @@ public class PersistentEventConnection implements Runnable { } } } + try { + if (eventSrc.isOpen()) { + eventSrc.close(); + } + }catch (Exception e) { + log.info("Connection close failed: " + e.getMessage()); + } log.info("Closed connection to SSE source"); } @@ -349,4 +360,8 @@ public class PersistentEventConnection implements Runnable { public RestConfContext getCtx() { return ctx; } + + public void shutdown() { + running = false; + } } -- cgit 1.2.3-korg