From 6ab9bbf59137c39c1449f66b5acd0d4dcdd416ad Mon Sep 17 00:00:00 2001 From: Julien Lengrand-Lambert Date: Sun, 15 Nov 2020 17:04:59 +0100 Subject: [PATCH] Adds dynamic timespan --- .../main/java/nl/lengrand/cellar/store/CellarMonitor.java | 8 +++++--- .../resources/META-INF/microprofile-config.properties | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cellar-app/src/main/java/nl/lengrand/cellar/store/CellarMonitor.java b/cellar-app/src/main/java/nl/lengrand/cellar/store/CellarMonitor.java index 1b8ceb1..7ef5eb5 100644 --- a/cellar-app/src/main/java/nl/lengrand/cellar/store/CellarMonitor.java +++ b/cellar-app/src/main/java/nl/lengrand/cellar/store/CellarMonitor.java @@ -14,13 +14,15 @@ import java.util.concurrent.TimeUnit; @ApplicationScoped public class CellarMonitor { + private ScheduledFuture monitorHandle; + private static final int THREADS = 1; private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(THREADS); private static final long START = 0; - private static final long SPAN = 30; - private ScheduledFuture monitorHandle; + @ConfigProperty(name = "monitor.time.span", defaultValue = "15") + private long span; @Inject private TimeUnit timeUnit; @@ -34,7 +36,7 @@ public class CellarMonitor { final Runnable monitoring = () -> { sensorApi.add(dataDriver.getSensorValues()); }; public void startMonitoring(){ - monitorHandle = scheduler.scheduleAtFixedRate(monitoring, START, SPAN, timeUnit); + monitorHandle = scheduler.scheduleAtFixedRate(monitoring, START, span, timeUnit); } public void stopMonitoring(){ diff --git a/cellar-app/src/main/resources/META-INF/microprofile-config.properties b/cellar-app/src/main/resources/META-INF/microprofile-config.properties index 5b6542f..66de5ba 100644 --- a/cellar-app/src/main/resources/META-INF/microprofile-config.properties +++ b/cellar-app/src/main/resources/META-INF/microprofile-config.properties @@ -21,6 +21,7 @@ monitoring.enabled=true driver.type=dummy sensor.api.type=influx monitor.time.unit=MINUTES +monitor.time.span=30 # Microprofile server properties server.port=8080