diff options
Diffstat (limited to 'src/main/java/org/onap/dcae/controller/PersistentEventConnection.java')
-rw-r--r-- | src/main/java/org/onap/dcae/controller/PersistentEventConnection.java | 19 |
1 files changed, 17 insertions, 2 deletions
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; + } } |