diff options
Diffstat (limited to 'container-disc/src/main/java/com/yahoo')
-rw-r--r-- | container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java index 6edfcecdda9..6cc922682cb 100644 --- a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java +++ b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java @@ -304,14 +304,14 @@ public final class ConfiguredApplication implements Application { for (ServerProvider server : currentServers) { builder.serverProviders().install(server); } - activateContainer(builder, cleanupTask); - startAndStopServers(currentServers); - - startAndRemoveClients(Container.get().getClientProviderRegistry().allComponents()); - signalActivation(); + try (DeactivatedContainer deactivating = activateContainer(builder, cleanupTask)) { + startAndStopServers(currentServers); + startAndRemoveClients(Container.get().getClientProviderRegistry().allComponents()); + signalActivation(); + } } - private void activateContainer(ContainerBuilder builder, Runnable onPreviousContainerTermination) { + private DeactivatedContainer activateContainer(ContainerBuilder builder, Runnable onPreviousContainerTermination) { DeactivatedContainer deactivated = activator.activateContainer(builder); if (deactivated != null) { nonTerminatedContainerTracker.register(); @@ -323,6 +323,7 @@ public final class ConfiguredApplication implements Application { } }); } + return deactivated; } private void signalActivation() { @@ -466,7 +467,7 @@ public final class ConfiguredApplication implements Application { shutdownReconfigurer(); startAndStopServers(List.of()); startAndRemoveClients(List.of()); - activateContainer(null, () -> log.info("Last active container generation has terminated")); + try (DeactivatedContainer deactivated = activateContainer(null, () -> log.info("Last active container generation has terminated"))) { } subscriberFactory.close(); nonTerminatedContainerTracker.arriveAndAwaitAdvance(); } |