diff options
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.java | 3 | ||||
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/di/Container.java | 5 |
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(); } } |