From c17882dd053c8b85ffe356840d9394f1232215c2 Mon Sep 17 00:00:00 2001 From: chengpeng51 Date: Wed, 4 Aug 2021 16:50:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8ScheduledExecutorService=20?= =?UTF-8?q?=E4=BB=A3=E6=9B=BFTimer=20=E6=AD=A3=E5=88=99=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E6=97=B6,=E5=88=A9=E7=94=A8=E5=A5=BD=E5=85=B6?= =?UTF-8?q?=E9=A2=84=E7=BC=96=E8=AF=91=E5=8A=9F=E8=83=BD,=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E6=9C=89=E6=95=88=E5=8A=A0=E5=BF=AB=E6=AD=A3=E5=88=99?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yomahub/liteflow/monitor/MonitorBus.java | 31 +++++++++---------- .../yomahub/liteflow/parser/FlowParser.java | 10 ++++-- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java b/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java index d0d13a09..ec9d719a 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java @@ -7,26 +7,22 @@ */ package com.yomahub.liteflow.monitor; +import com.yomahub.liteflow.entity.data.DataBus; +import com.yomahub.liteflow.entity.monitor.CompStatistics; +import com.yomahub.liteflow.property.LiteflowConfig; +import com.yomahub.liteflow.util.BoundedPriorityBlockingQueue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.math.BigDecimal; import java.math.RoundingMode; import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; -import java.util.Timer; import java.util.concurrent.ConcurrentHashMap; - -import com.yomahub.liteflow.util.BoundedPriorityBlockingQueue; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -import com.yomahub.liteflow.entity.data.DataBus; -import com.yomahub.liteflow.property.LiteflowConfig; -import com.yomahub.liteflow.entity.monitor.CompStatistics; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; /** * 监控类元数据,打印执行器类 @@ -40,12 +36,13 @@ public class MonitorBus { private final ConcurrentHashMap> statisticsMap = new ConcurrentHashMap<>(); + private final ScheduledExecutorService printLogScheduler = Executors.newScheduledThreadPool(1); + public MonitorBus(LiteflowConfig liteflowConfig) { this.liteflowConfig = liteflowConfig; if(liteflowConfig.getEnableLog()){ - Timer timer = new Timer(); - timer.schedule(new MonitorTimeTask(this), liteflowConfig.getDelay(), liteflowConfig.getPeriod()); + this.printLogScheduler.scheduleAtFixedRate(new MonitorTimeTask(this), liteflowConfig.getDelay(), liteflowConfig.getPeriod(), TimeUnit.MICROSECONDS); } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/FlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/FlowParser.java index f250bd28..9907bd8a 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/FlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/FlowParser.java @@ -15,8 +15,10 @@ import org.springframework.util.Assert; import org.springframework.util.ResourceUtils; import java.io.IOException; -import java.util.*; -import java.util.function.Consumer; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -30,10 +32,12 @@ public abstract class FlowParser { public abstract void parse(List contentList) throws Exception ; + private static final Pattern p = Pattern.compile("[^\\)\\(]+"); + //条件节点的正则解析 public RegexEntity parseNodeStr(String str) { List list = new ArrayList(); - Pattern p = Pattern.compile("[^\\)\\(]+"); + Matcher m = p.matcher(str); while(m.find()){ list.add(m.group()); -- Gitee