summaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/container/di
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container/di')
-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
2 files changed, 6 insertions, 2 deletions
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();
}
}