From de5ee5ee9e9f7387c9bac97cfd2057f40a12af36 Mon Sep 17 00:00:00 2001 From: "alex.sung" Date: Wed, 13 Mar 2019 15:12:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?http://www.finedevelop.com:2016/browse/REPO?= =?UTF-8?q?RT-15128=20lastTime=E5=88=B7=E6=96=B0=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E4=BC=9A=E5=AF=BC=E8=87=B4=E5=8A=9F=E8=83=BD=E7=82=B9=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E4=B8=8D=E4=B8=8A=E5=8E=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/InformationCollector.java | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java b/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java index 37f86172ea..abc39fd83e 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java @@ -184,12 +184,6 @@ public class InformationCollector implements XMLReadable, XMLWriter { } private void sendUserInfo(){ - long currentTime = new Date().getTime(); - long lastTime = getLastTimeMillis(); - - if (currentTime - lastTime <= DELTA) { - return; - } JSONObject content = getJSONContentAsByte(); String url = CloudCenter.getInstance().acquireUrlByKind("user.info.v10"); boolean success = false; @@ -207,13 +201,7 @@ public class InformationCollector implements XMLReadable, XMLWriter { } } - private void sendFunctionsInfo(){ - Date current = new Date(); - long lastTime = getLastTimeMillis(); - long currentTime = current.getTime(); - if (currentTime - lastTime <= DELTA) { - return; - } + private void sendFunctionsInfo(long currentTime, long lastTime){ FineLoggerFactory.getLogger().info("Start sent function records to the cloud center..."); queryAndSendOnePageFunctionContent(currentTime, lastTime, 0); long page = (totalCount/PAGE_SIZE) + 1; @@ -363,8 +351,14 @@ public class InformationCollector implements XMLReadable, XMLWriter { } catch (InterruptedException e) { FRContext.getLogger().error(e.getMessage(), e); } - sendUserInfo(); - sendFunctionsInfo(); + + long currentTime = new Date().getTime(); + long lastTime = getLastTimeMillis(); + if (currentTime - lastTime > DELTA) { + sendUserInfo(); + sendFunctionsInfo(currentTime, lastTime); + } + TemplateInfoCollector.getInstance().sendTemplateInfo(); ErrorInfoUploader.getInstance().sendErrorInfo(); } From 80707918f6053b6924973da8efb3520cf6fa77a6 Mon Sep 17 00:00:00 2001 From: "alex.sung" Date: Wed, 13 Mar 2019 17:21:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8D=A2=E7=94=A8ScheduledExecutorService?= =?UTF-8?q?=20schedule=E6=9D=A5=E5=BB=B6=E6=97=B6=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/InformationCollector.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java b/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java index a5882eff65..8a3f4bb25d 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java @@ -54,6 +54,9 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; /** * @author neil @@ -338,17 +341,10 @@ public class InformationCollector implements XMLReadable, XMLWriter { return; } - Thread sendThread = new Thread(new Runnable() { - + ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); + service.schedule(new Runnable() { @Override public void run() { - try { - //读取XML的5分钟后开始发请求连接服务器. - Thread.sleep(SEND_DELAY); - } catch (InterruptedException e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - long currentTime = new Date().getTime(); long lastTime = getLastTimeMillis(); if (currentTime - lastTime > DELTA) { @@ -359,8 +355,8 @@ public class InformationCollector implements XMLReadable, XMLWriter { TemplateInfoCollector.getInstance().sendTemplateInfo(); ErrorInfoUploader.getInstance().sendErrorInfo(); } - }); - sendThread.start(); + }, SEND_DELAY, TimeUnit.SECONDS); + } /**