diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-12-07 13:37:24 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-12-07 13:37:24 +0100 |
commit | bdb102917700d9f698423b5a1d62ead8a06f5b5a (patch) | |
tree | 1daacf13716d072b1a5578ae03fb35ae2e61a81f /component/src | |
parent | c7548568b93ac5552667ca34a754bf6b36b5033e (diff) |
Always deconstruct in reverse creation order, including Provider objects
Diffstat (limited to 'component/src')
-rw-r--r-- | component/src/main/java/com/yahoo/component/AbstractComponent.java | 3 | ||||
-rw-r--r-- | component/src/main/java/com/yahoo/component/Deconstructable.java | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/component/src/main/java/com/yahoo/component/AbstractComponent.java b/component/src/main/java/com/yahoo/component/AbstractComponent.java index fcaa1e62d56..18a19f3e238 100644 --- a/component/src/main/java/com/yahoo/component/AbstractComponent.java +++ b/component/src/main/java/com/yahoo/component/AbstractComponent.java @@ -11,7 +11,7 @@ import java.lang.reflect.Method; * * @author bratseth */ -public class AbstractComponent implements Component { +public class AbstractComponent implements Component, Deconstructable { private static final MethodCache deconstructMethods = new MethodCache("deconstruct"); @@ -129,6 +129,7 @@ public class AbstractComponent implements Component { * <p> * This default implementation does nothing. */ + @Override public void deconstruct() { } /** diff --git a/component/src/main/java/com/yahoo/component/Deconstructable.java b/component/src/main/java/com/yahoo/component/Deconstructable.java new file mode 100644 index 00000000000..4da39cd3420 --- /dev/null +++ b/component/src/main/java/com/yahoo/component/Deconstructable.java @@ -0,0 +1,13 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.component; + +/** + * A component in the component graph that should be deconstructed, to release resources. + * + * @author jonmv + */ +public interface Deconstructable { + + void deconstruct(); + +} |