From ea372294ca583add5d3f2ae4b93e60b2376141fe Mon Sep 17 00:00:00 2001 From: neil <459208047@qq.com> Date: Wed, 4 Apr 2018 16:29:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E5=8A=A0=E4=B8=AA=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/start/StartServer.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/designer_base/src/com/fr/start/StartServer.java b/designer_base/src/com/fr/start/StartServer.java index 9b674fd27..af86fc409 100644 --- a/designer_base/src/com/fr/start/StartServer.java +++ b/designer_base/src/com/fr/start/StartServer.java @@ -34,6 +34,7 @@ public class StartServer { // 原先的tomcatHost放在类TomcatHost里面,很不方便操作,而且因为存在多个进程的原因, // 原先的getInstance()方法无多大意义 private static TomcatHost tomcatHost = null; + private static Object lock = new Object(); static { GeneralContext.addEnvChangedListener(new EnvChangedListener() { @@ -80,15 +81,17 @@ public class StartServer { } private static void initDemoServerAndBrowser() { - if (tomcatHost != null) { - if (!tomcatHost.isDemoAppLoaded()) { - tomcatHost.exit(); + synchronized (lock) { + if (tomcatHost != null) { + if (!tomcatHost.isDemoAppLoaded()) { + tomcatHost.exit(); + tomcatHost = new TomcatHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); + tomcatHost.addAndStartInstallHomeWebApp(); + } + } else { tomcatHost = new TomcatHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); tomcatHost.addAndStartInstallHomeWebApp(); } - } else { - tomcatHost = new TomcatHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); - tomcatHost.addAndStartInstallHomeWebApp(); } try { if (!tomcatHost.isStarted()) { @@ -105,17 +108,19 @@ public class StartServer { public static void start() { try { - if (tomcatHost != null) { - if (NEED_LOAD_ENV) { - tomcatHost.exit(); + synchronized (lock) { + if (tomcatHost != null) { + if (NEED_LOAD_ENV) { + tomcatHost.exit(); + tomcatHost = new TomcatHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); + tomcatHost.addAndStartLocalEnvHomeWebApp(); + + } + } else { tomcatHost = new TomcatHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); tomcatHost.addAndStartLocalEnvHomeWebApp(); } - } else { - tomcatHost = new TomcatHost(DesignerEnvManager.getEnvManager().getJettyServerPort()); - tomcatHost.addAndStartLocalEnvHomeWebApp(); - } if (!tomcatHost.isStarted()) { tomcatHost.start();