summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java4
-rw-r--r--container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java3
-rw-r--r--container-core/src/main/java/com/yahoo/container/di/Container.java5
4 files changed, 8 insertions, 6 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java b/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java
index 716f7b496b1..bcd3665a3d6 100644
--- a/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java
+++ b/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java
@@ -143,9 +143,7 @@ public class HandlersConfigurerDi {
return currentGraph.getInstance(componentClass);
}
- public void shutdown(ComponentDeconstructor deconstructor) {
- container.shutdown(currentGraph, deconstructor);
- }
+ public void shutdown() { container.shutdown(currentGraph); }
/** Returns the currently active application configuration generation */
public long generation() { return currentGraph.generation(); }
diff --git a/container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java b/container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java
index b9ff5a08785..eadb6b52294 100644
--- a/container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java
+++ b/container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java
@@ -125,7 +125,7 @@ public class HandlersConfigurerTestWrapper {
}
public void shutdown() {
- configurer.shutdown(getTestDeconstructor());
+ configurer.shutdown();
// TODO: Remove once tests use ConfigSet rather than dir:
for (File f : createdFiles) {
f.delete();
diff --git a/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java b/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java
index bc5ddb3fa7a..95a15e12735 100644
--- a/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java
+++ b/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java
@@ -15,4 +15,7 @@ public interface ComponentDeconstructor {
/** Deconstructs the given components in order, then the given bundles. */
void deconstruct(List<Object> components, Collection<Bundle> bundles);
+ /** Wait for all previous destruction tasks to complete */
+ default void shutdown() {}
+
}
diff --git a/container-core/src/main/java/com/yahoo/container/di/Container.java b/container-core/src/main/java/com/yahoo/container/di/Container.java
index 8fc72d8cddb..8d8a05408a9 100644
--- a/container-core/src/main/java/com/yahoo/container/di/Container.java
+++ b/container-core/src/main/java/com/yahoo/container/di/Container.java
@@ -245,10 +245,11 @@ public class Container {
}
}
- public void shutdown(ComponentGraph graph, ComponentDeconstructor deconstructor) {
+ public void shutdown(ComponentGraph graph) {
shutdownConfigurer();
if (graph != null) {
- deconstructAllComponents(graph, deconstructor);
+ deconstructAllComponents(graph, componentDeconstructor);
+ componentDeconstructor.shutdown();
}
}