From ef73bd445ed1fc2a24dd0afc4d022c48b0501e8e Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 7 Feb 2018 01:34:46 +0100 Subject: [PATCH] Prevent double loading of data servlets in non-clean state. --- .../src/org/argeo/cms/internal/kernel/CmsDeployment.java | 2 +- .../src/org/argeo/cms/internal/kernel/NodeHttp.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java index 0a04e0804..917b15a9a 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java @@ -75,7 +75,7 @@ public class CmsDeployment implements NodeDeployment { NodeState nodeState = bc.getService(nodeStateSr); cleanState = nodeState.isClean(); - nodeHttp = new NodeHttp(); + nodeHttp = new NodeHttp(cleanState); dataModels = new DataModels(bc); initTrackers(); } diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java index 9d7deefb5..7df6a494b 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java @@ -45,8 +45,10 @@ public class NodeHttp implements KernelConstants { private final ServiceTracker httpServiceTracker; private static String httpRealm = "Argeo"; + private final boolean cleanState; - public NodeHttp() { + public NodeHttp(boolean cleanState) { + this.cleanState = cleanState; httpServiceTracker = new PrepareHttpStc(); // httpServiceTracker.open(); KernelUtils.asyncOpen(httpServiceTracker); @@ -244,7 +246,8 @@ public class NodeHttp implements KernelConstants { throw new CmsException("An http service is already configured"); repositories = new RepositoriesStc(bc, httpService); // repositories.open(); - KernelUtils.asyncOpen(repositories); + if (cleanState) + KernelUtils.asyncOpen(repositories); log.info(httpPortsMsg(httpPort, httpsPort)); // httpAvailable = true; // checkReadiness(); -- 2.30.2