summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-02-04 13:48:06 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2022-02-04 13:48:06 +0100
commit17dfbf4625386d1f37313f2da9f6f9b4c7e96c4c (patch)
treeaed2ab71aba51a593d63f6962e03bca29fc3c33e /container-core
parentbbbfcfa38c01142e8fd56b48fb08da30cd38383d (diff)
Shutdown reconfiguration thread in a more controlled way
Use interrupts is a horrible mechanism as we cannot control which part of the code receives the signal.
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/di/Container.java4
-rw-r--r--container-core/src/test/java/com/yahoo/container/di/ContainerTest.java6
3 files changed, 7 insertions, 5 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 bcd3665a3d6..decb0513e26 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
@@ -145,6 +145,8 @@ public class HandlersConfigurerDi {
public void shutdown() { container.shutdown(currentGraph); }
+ public void shutdownConfigRetriever() { container.shutdownConfigRetriever(); }
+
/** Returns the currently active application configuration generation */
public long generation() { return currentGraph.generation(); }
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 5d5906c7a37..b8bc5fc6c99 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
@@ -254,14 +254,14 @@ public class Container {
}
public void shutdown(ComponentGraph graph) {
- shutdownConfigurer();
+ shutdownConfigRetriever();
if (graph != null) {
scheduleGraphForDeconstruction(graph);
destructor.shutdown();
}
}
- void shutdownConfigurer() {
+ public void shutdownConfigRetriever() {
retriever.shutdown();
}
diff --git a/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java b/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java
index 1570c529cdf..74c08b1044b 100644
--- a/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java
+++ b/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java
@@ -44,7 +44,7 @@ public class ContainerTest extends ContainerTestBase {
ComponentTakingConfig component = createComponentTakingConfig(getNewComponentGraph(container));
assertEquals("myString", component.config.stringVal());
- container.shutdownConfigurer();
+ container.shutdownConfigRetriever();
}
@Test
@@ -66,7 +66,7 @@ public class ContainerTest extends ContainerTestBase {
ComponentTakingConfig component2 = createComponentTakingConfig(newComponentGraph);
assertEquals("reconfigured", component2.config.stringVal());
- container.shutdownConfigurer();
+ container.shutdownConfigRetriever();
}
@Test
@@ -90,7 +90,7 @@ public class ContainerTest extends ContainerTestBase {
assertNotNull(ComponentGraph.getNode(newGraph, "id1"));
assertNotNull(ComponentGraph.getNode(newGraph, "id2"));
- container.shutdownConfigurer();
+ container.shutdownConfigRetriever();
}
//@Test TODO