From 3d962752bdc993d435a76c4687791e78107dd440 Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 15:05:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=90=E7=BA=BF=E7=A8=8B=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/service/impl/FlowStartServiceImpl.java | 7 ++++--- .../java/com/lz/modules/job/business/DingtalkBusiness.java | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index d9917be0..76f67d31 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -103,7 +103,7 @@ public class FlowStartServiceImpl extends ServiceImpl threads = new ArrayList<>(); + List threadInitFlowRecords = new ArrayList<>(); @@ -811,9 +811,10 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords, List noticeStaff){ if(resultRecords.size() > 0){ ThreadInitFlowRecord threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff); + threadInitFlowRecords.add(threadInitFlowRecord);//防止提前回收 Thread thread = new Thread(threadInitFlowRecord); thread.start(); - threads.add(threadInitFlowRecord); + } } @@ -841,7 +842,7 @@ public class FlowStartServiceImpl extends ServiceImpl threadSendMessages = new ArrayList<>(); + @Value("${dingtalk.appid}") private String appid; @@ -257,8 +259,10 @@ public class DingtalkBusiness { WorkMsgTypeEnum workMsgTypeEnum = WorkMsgTypeEnum.findRoleTypeByCode(type); ThreadSendMessage threadSendMessage = new ThreadSendMessage(fromStaff, toStaffids, workMsgTypeEnum, appid); + threadSendMessages.add(threadSendMessage);//防止提前回收 Thread thread = new Thread(threadSendMessage); thread.start(); + return "OK"; } return "error"; @@ -391,6 +395,7 @@ public class DingtalkBusiness { logger.info("ThreadSendMessage token无效"); ; } } + threadSendMessages.remove(this); } } }