diff options
Diffstat (limited to 'engine-d/src/main/java/org/onap/holmes/engine/dmaappolling')
-rw-r--r-- | engine-d/src/main/java/org/onap/holmes/engine/dmaappolling/SubscriberAction.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/engine-d/src/main/java/org/onap/holmes/engine/dmaappolling/SubscriberAction.java b/engine-d/src/main/java/org/onap/holmes/engine/dmaappolling/SubscriberAction.java index 1e71899..ef585d5 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/dmaappolling/SubscriberAction.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/dmaappolling/SubscriberAction.java @@ -35,17 +35,19 @@ 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.getUrl())) { + DMaaPPollingRequest pollingTask = new DMaaPPollingRequest(subscriber, droolsEngine); + ScheduledFuture future = service + .scheduleAtFixedRate(pollingTask, 0, subscriber.getPeriod(), TimeUnit.MILLISECONDS); + pollingRequests.put(subscriber.getUrl(), future); + } } public void removeSubscriber(Subscriber subscriber) { - ScheduledFuture future = pollingRequests.get(subscriber.getTopic()); + ScheduledFuture future = pollingRequests.get(subscriber.getUrl()); if (future != null) { future.cancel(true); } - pollingRequests.remove(subscriber.getTopic()); + pollingRequests.remove(subscriber.getUrl()); } } |