diff --git a/config/config.conf b/config/config.conf
index a33d1c73..47b1b95c 100644
--- a/config/config.conf
+++ b/config/config.conf
@@ -52,6 +52,7 @@ clusterHostSuffix=".cluster"
reaggregationDimensions=["host"]
#reaggregationInjectClusterAsHost=True
#reaggregationTimeout="PT1M"
+healthcheckShutdownDelay="PT5S"
# Pekko
# ~~~~
@@ -77,6 +78,7 @@ pekkoConfiguration {
unhandled="on"
}
}
+ coordinated-shutdown.run-by-jvm-shutdown-hook = off
cluster {
seed-nodes=["pekko://Metrics@127.0.0.1:2551"]
downing-provider-class = "org.apache.pekko.cluster.sbr.SplitBrainResolverProvider"
diff --git a/lib/awaitility-4.0.2.jar b/lib/awaitility-4.0.2.jar
deleted file mode 100644
index 293f83d8..00000000
Binary files a/lib/awaitility-4.0.2.jar and /dev/null differ
diff --git a/lib/hamcrest-2.1.jar b/lib/hamcrest-2.1.jar
deleted file mode 100644
index e323d5e8..00000000
Binary files a/lib/hamcrest-2.1.jar and /dev/null differ
diff --git a/pom.xml b/pom.xml
index 5a45ebe7..4524defa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
Ville Koskela
ville.koskela@inscopemetrics.com
Inscope Metrics
- http://www.inscopemetrics.com
+ https://www.inscopemetrics.com
developer
@@ -191,6 +191,12 @@
src/main/resources
true
+
+ config
+
+ **/*.conf
+
+
diff --git a/src/main/java/com/arpnetworking/clusteraggregator/Emitter.java b/src/main/java/com/arpnetworking/clusteraggregator/Emitter.java
index 78c81dcd..c50e8f70 100644
--- a/src/main/java/com/arpnetworking/clusteraggregator/Emitter.java
+++ b/src/main/java/com/arpnetworking/clusteraggregator/Emitter.java
@@ -26,9 +26,11 @@
import com.google.common.collect.ImmutableMap;
import org.apache.pekko.actor.AbstractActor;
import org.apache.pekko.actor.Props;
+import org.apache.pekko.pattern.Patterns;
import java.time.Duration;
import java.time.ZonedDateTime;
+import java.util.concurrent.CompletionStage;
/**
* Holds the sinks and emits to them.
@@ -43,7 +45,7 @@ public class Emitter extends AbstractActor {
* @return A new {@link Props}.
*/
public static Props props(final EmitterConfiguration config) {
- return Props.create(Emitter.class, config);
+ return Props.create(Emitter.class, () -> new Emitter(config));
}
/**
@@ -62,6 +64,11 @@ public Emitter(final EmitterConfiguration config) {
.log();
}
+ @Override
+ public void preStart() throws Exception, Exception {
+ super.preStart();
+ }
+
@SuppressWarnings("deprecation")
@Override
public Receive createReceive() {
@@ -90,6 +97,22 @@ public Receive createReceive() {
.log();
_sink.recordAggregateData(periodicData);
})
+ .match(Shutdown.class, ignored -> {
+ LOGGER.info()
+ .setMessage("Shutting down emitter")
+ .log();
+
+ final CompletionStage