summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/dcae/controller/PersistentEventConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/dcae/controller/PersistentEventConnection.java')
-rw-r--r--src/main/java/org/onap/dcae/controller/PersistentEventConnection.java19
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;
+ }
}