Merge pull request #241 from lowzj/TtlScheduler

cancel the previous ttl task when putting a new task with the same serviceId
This commit is contained in:
Spencer Gibb
2016-11-02 15:29:21 -04:00
committed by GitHub

View File

@@ -57,7 +57,10 @@ public class TtlScheduler {
ScheduledFuture task = scheduler.scheduleAtFixedRate(new ConsulHeartbeatTask(
service.getId()), configuration.computeHearbeatInterval()
.toStandardDuration().getMillis());
serviceHeartbeats.put(service.getId(), task);
ScheduledFuture previousTask = serviceHeartbeats.put(service.getId(), task);
if (previousTask != null) {
previousTask.cancel(true);
}
}
public void remove(String serviceId) {