diff options
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/ResourceManager.java')
-rw-r--r-- | src/main/java/io/trygvis/esper/testing/ResourceManager.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/ResourceManager.java b/src/main/java/io/trygvis/esper/testing/ResourceManager.java new file mode 100644 index 0000000..e9a0068 --- /dev/null +++ b/src/main/java/io/trygvis/esper/testing/ResourceManager.java @@ -0,0 +1,31 @@ +package io.trygvis.esper.testing; + +import fj.*; + +import java.util.*; +import java.util.concurrent.*; + +public class ResourceManager<K, V> { + private final Equal<K> equal; + private final Callable<List<K>> discoverer; + private Map<K, V> map = Collections.emptyMap(); + + public ResourceManager(Equal<K> equal, ScheduledExecutorService executorService, int delay, Callable<List<K>> discoverer) { + this.equal = equal; + this.discoverer = discoverer; + + executorService.scheduleWithFixedDelay(new Runnable() { + public void run() { + work(); + } + }, delay, delay, TimeUnit.MILLISECONDS); + } + + private void work() { + try { + List<K> keys = discoverer.call(); + } catch (Exception e) { + return; + } + } +} |