Fix Some Bugs
[holmes/engine-management.git] / engine-d / src / main / java / org / onap / holmes / engine / dmaap / DMaaPAlarmPolling.java
index 37b39c0..009de8e 100644 (file)
@@ -15,6 +15,8 @@
  */
 package org.onap.holmes.engine.dmaap;
 
+import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
+
 import java.util.ArrayList;
 import java.util.List;
 import lombok.extern.slf4j.Slf4j;
@@ -40,10 +42,22 @@ public class DMaaPAlarmPolling implements Runnable {
             List<VesAlarm> vesAlarmList = new ArrayList<>();
             try {
                 vesAlarmList = subscriber.subscribe();
+                vesAlarmList.forEach(vesAlarm -> droolsEngine.putRaisedIntoStream(vesAlarm));
             } catch (CorrelationException e) {
-                log.error("Failed polling request alarm. " + e.getMessage());
+                log.error("Failed to process alarms. Sleep for 60 seconds to restart.", e);
+                try {
+                    Thread.sleep(60000);
+                } catch (InterruptedException e1) {
+                    log.info("Thread is still active.", e);
+                }
+            } catch (Exception e) {
+                log.error("An error occurred while processing alarm. Sleep for 60 seconds to restart.", e);
+                try {
+                    Thread.sleep(60000);
+                } catch (InterruptedException e1) {
+                    log.info("Thread is still active.", e);
+                }
             }
-            vesAlarmList.forEach(vesAlarm -> droolsEngine.putRaisedIntoStream(vesAlarm));
         }
     }