Add DMaaP Configuration APIs for Testing
[holmes/engine-management.git] / engine-d / src / main / java / org / onap / holmes / engine / dmaappolling / SubscriberAction.java
index 1e71899..da83683 100644 (file)
@@ -35,10 +35,12 @@ public class SubscriberAction {
     private ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
 
     public void addSubscriber(Subscriber subscriber) {
-        DMaaPPollingRequest pollingTask = new DMaaPPollingRequest(subscriber, droolsEngine);
-        ScheduledFuture future = service
-                .scheduleAtFixedRate(pollingTask, 0, subscriber.getPeriod(), TimeUnit.MILLISECONDS);
-        pollingRequests.put(subscriber.getTopic(), future);
+        if (!pollingRequests.containsKey(subscriber.getTopic())) {
+            DMaaPPollingRequest pollingTask = new DMaaPPollingRequest(subscriber, droolsEngine);
+            ScheduledFuture future = service
+                    .scheduleAtFixedRate(pollingTask, 0, subscriber.getPeriod(), TimeUnit.MILLISECONDS);
+            pollingRequests.put(subscriber.getTopic(), future);
+        }
     }
 
     public void removeSubscriber(Subscriber subscriber) {