From b3677b3ab0f7f2854cffb6b19588db3b104ad50b Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 22 Feb 2022 16:04:15 +0800 Subject: [PATCH 01/26] =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E9=97=B4=E9=9A=9420s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/StaffPatrolRecordServiceImpl.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index 9ddd74e7aa..b61df46291 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.rocketmq.messages.StaffPatrolMQMsg; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.enums.OrgTypeEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -58,8 +57,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -122,8 +119,8 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl Date: Wed, 23 Feb 2022 10:08:04 +0800 Subject: [PATCH 02/26] bug --- .../impl/CustomerStaffGridServiceImpl.java | 3 ++- .../main/java/com/epmet/dao/StaffRoleDao.java | 2 ++ .../service/impl/StaffRoleServiceImpl.java | 5 ++++- .../src/main/resources/mapper/StaffRoleDao.xml | 17 +++++++++++++++++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java index 23582c1906..184a4b7acd 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java @@ -176,7 +176,8 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl(); } - return data; + gridStaff.stream().forEach(g -> data.stream().filter(d -> g.getStaffId().equals(d.getStaffId()) && g.getGridId().equals(d.getGridId())).forEach(d -> g.setMobile(d.getMobile()))); + return gridStaff.stream().filter(g -> StringUtils.isNotBlank(g.getMobile())).collect(Collectors.toList()); } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index 3cfb231881..8f62aef830 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -138,6 +138,8 @@ public interface StaffRoleDao extends BaseDao { */ List staffGridRole(@Param("forms") List forms); + List staffGridRoleByIds(@Param("ids") List ids); + /** * @Description 查询角色 * @Param userIds diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index fca7a68aed..c5f75b2222 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -32,6 +32,7 @@ import com.epmet.entity.StaffRoleEntity; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.StaffRoleService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -136,7 +137,9 @@ public class StaffRoleServiceImpl extends BaseServiceImpl(); } - List result = baseDao.staffGridRole(forms); + List userIds = forms.stream().map(m -> m.getStaffId()).distinct().collect(Collectors.toList()); + List result = baseDao.staffGridRoleByIds(userIds); + /*List result = baseDao.staffGridRole(forms);*/ if (CollectionUtils.isEmpty(result)){ return new ArrayList<>(); } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index 777ef27ee8..6ce9736f4d 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -210,6 +210,23 @@ + + SELECT + CUSTOMER_ID, user_id AS "staffId", real_name AS "realName", mobile AS "mobile", From c91dc6307216283aaddb03a1e0b52eec0859c021 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 24 Feb 2022 11:55:22 +0800 Subject: [PATCH 07/26] =?UTF-8?q?=E6=A0=B9=E6=8D=AEstaffId=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=94=A8=E6=88=B7=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E=E5=AE=A2=E6=88=B7=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/result/BasicInfoResultDTO.java | 2 -- .../dto/result/StaffBasicInfoResultDTO.java | 2 +- .../impl/CustomerStaffServiceImpl.java | 24 +++++++++---------- .../resources/mapper/CustomerStaffDao.xml | 1 - 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java index 5fff4bc298..e57abaf6a4 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BasicInfoResultDTO.java @@ -12,8 +12,6 @@ import java.io.Serializable; public class BasicInfoResultDTO implements Serializable { private static final long serialVersionUID = 8987281818368677411L; - private String customerId; - private String customerName; /** * 工作人员id */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffBasicInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffBasicInfoResultDTO.java index f981a68f8b..52c432f810 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffBasicInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/StaffBasicInfoResultDTO.java @@ -16,7 +16,7 @@ public class StaffBasicInfoResultDTO implements Serializable { * 客户Id */ private String customerId; - + private String customerName; /** * 用户Id */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 4bf02513b6..7f814d3ac8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -742,6 +742,16 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl customerResult = operCrmOpenFeignClient.getCustomerInfo(dto); + if (!customerResult.success()) { + throw new RenException(customerResult.getCode(), customerResult.getMsg()); + } + if (null != customerResult.getData()) { + resultDTO.setCustomerName(customerResult.getData().getCustomerName()); + } } return new Result().ok(resultDTO); } @@ -765,19 +775,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl customerResult = operCrmOpenFeignClient.getCustomerInfo(dto); - if (!customerResult.success()) { - throw new RenException(customerResult.getCode(), customerResult.getMsg()); - } - if (null != customerResult.getData()) { - result.setCustomerName(customerResult.getData().getCustomerName()); - } - - return result; + return baseDao.getStaffBasicInfo(fromDTO); } @Override diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml index 1448824323..f441f419af 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml @@ -341,7 +341,6 @@ @@ -84,4 +84,4 @@ - \ No newline at end of file + diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 379eaf6444..70e8528491 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -969,13 +969,13 @@ public class IssueServiceImpl extends BaseServiceImpl imp //1:查询议题数据 IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); if (null == entity) { - throw new EpmetException(9999,IssueConstant.SELECT_EXCEPTION,IssueConstant.SELECT_EXCEPTION); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),IssueConstant.SELECT_EXCEPTION,IssueConstant.SELECT_EXCEPTION); } if (IssueConstant.ISSUE_SHIFT_PROJECT.equals(entity.getIssueStatus())) { - throw new EpmetException(9999,IssueConstant.ISSUE_SHIFT_PROJECT_EXCEPTION,IssueConstant.ISSUE_SHIFT_PROJECT_EXCEPTION); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),IssueConstant.ISSUE_SHIFT_PROJECT_EXCEPTION,IssueConstant.ISSUE_SHIFT_PROJECT_EXCEPTION); } if (!IssueConstant.ISSUE_VOTING.equals(entity.getIssueStatus())) { - throw new EpmetException(9999,IssueConstant.ISSUE_VOTING_EXCEPTION,IssueConstant.ISSUE_VOTING_EXCEPTION); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),IssueConstant.ISSUE_VOTING_EXCEPTION,IssueConstant.ISSUE_VOTING_EXCEPTION); } formDTO.setIssueDTO(ConvertUtils.sourceToTarget(entity, IssueDTO.class)); @@ -1007,7 +1007,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp //2:调用resi-group查询话题创建人数据(目前议题来源只有来自话题),为了到项目服务初始数据以及发送消息使用 Result resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId()); if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) { - throw new EpmetException(9999,IssueConstant.SELECT_TOPIC_EXCEPTION,IssueConstant.SELECT_TOPIC_EXCEPTION); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),IssueConstant.SELECT_TOPIC_EXCEPTION,IssueConstant.SELECT_TOPIC_EXCEPTION); } ResiTopicDTO topicDTO = resultTopicDTO.getData(); formDTO.setTopicDTO(topicDTO); @@ -1019,7 +1019,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp Result resultDTO = govProjectFeignClient.issueShiftProject(formDTO); if (!resultDTO.success() || null == resultDTO.getData()) { logger.error(resultDTO.getInternalMsg()); - throw new EpmetException(9999,IssueConstant.GOV_PRJECT_EXCEPTION,IssueConstant.GOV_PRJECT_EXCEPTION); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),IssueConstant.GOV_PRJECT_EXCEPTION,IssueConstant.GOV_PRJECT_EXCEPTION); } IssueProjectResultDTO issueProjectResultDTO = resultDTO.getData(); //更新项目对标签的引用次数 @@ -1054,7 +1054,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp //5:调用epmet-message服务,给居民端话题创建人、议题发起人以及政府端工作人员发送消息 if (!shiftProjectMessage(issueProjectResultDTO, formDTO, entity).success()) { - throw new EpmetException(9999,IssueConstant.SAVE_MSG_EXCEPTION,IssueConstant.SAVE_MSG_EXCEPTION); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),IssueConstant.SAVE_MSG_EXCEPTION,IssueConstant.SAVE_MSG_EXCEPTION); } //5-1:2020.10.26 添加给居民端话题创建人、议题发起人以及政府端工作人员推送微信订阅消息功能 sun if (!wxmpShiftProjectMessage(issueProjectResultDTO, formDTO, entity).success()) { From 989e2ea8264abbdee7a3597c4b879e0bc50c59f0 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Feb 2022 17:17:31 +0800 Subject: [PATCH 18/26] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=AF=B9=E5=BA=94=E7=9A=84=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E8=A7=92=E8=89=B2=E8=A1=A8=E7=9A=84orgId?= =?UTF-8?q?=E6=B0=B8=E8=BF=9C=E9=83=BD=E6=98=AF=E7=BB=84=E7=BB=87Id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/service/impl/StaffServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index b70354aceb..c6013c1332 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -519,7 +519,7 @@ public class StaffServiceImpl implements StaffService { //2.调用user服务,新增用户信息 StaffSubmitFromDTO submitDTO = ConvertUtils.sourceToTarget(fromDTO, StaffSubmitFromDTO.class); - submitDTO.setAgencyId(fromDTO.getOrgId()); + submitDTO.setAgencyId(orgDTO.getAgencyId()); Result result = epmetUserFeignClient.addStaff(submitDTO); if (!result.success()) { if (result.getCode() != EpmetErrorCode.SERVER_ERROR.getCode()) { From 3e770e9a15e1106b1aadcb378b61033950064c08 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 1 Mar 2022 09:53:11 +0800 Subject: [PATCH 19/26] =?UTF-8?q?=E6=8E=92=E9=99=A4=E6=8A=A5=E4=BA=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectSatisfactionStatisticsServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionStatisticsServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionStatisticsServiceImpl.java index f3925108f3..ec8d517c96 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionStatisticsServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionStatisticsServiceImpl.java @@ -140,8 +140,8 @@ public class ProjectSatisfactionStatisticsServiceImpl extends BaseServiceImpl Date: Tue, 1 Mar 2022 11:12:06 +0800 Subject: [PATCH 20/26] =?UTF-8?q?=E6=8C=87=E6=A0=87=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E8=B0=83=E7=94=A8=20=E6=8C=AA=E5=88=B0?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E6=95=B0=E6=8D=AE=E6=8A=BD=E5=8F=96=E5=AE=8C?= =?UTF-8?q?=E5=90=8E=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IndexOriginExtractServiceImpl.java | 102 +++++++++++------- .../impl/ScreenExtractServiceImpl.java | 14 --- 2 files changed, 63 insertions(+), 53 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java index 783b11feeb..20c44c46cf 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java @@ -4,11 +4,14 @@ import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.CustomerIdConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.EnvEnum; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.extract.form.ExtractIndexFormDTO; +import com.epmet.dto.indexcal.CalculateCommonFormDTO; import com.epmet.service.evaluationindex.extract.dataToIndex.*; +import com.epmet.service.evaluationindex.indexcal.IndexCalculateService; import com.epmet.service.stats.DimCustomerService; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -18,7 +21,8 @@ import org.springframework.util.CollectionUtils; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; /** * desc:指标原始数据抽取服务实现类 @@ -26,12 +30,13 @@ import java.util.concurrent.*; @Slf4j @Service public class IndexOriginExtractServiceImpl implements IndexOriginExtractService { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("indexOriginExtract-pool-%d").build(); + /*ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("indexOriginExtractAndCal-pool-%d").build(); ExecutorService threadPool = new ThreadPoolExecutor(1, 1, 10L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); - + new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy());*/ + @Autowired + private ExecutorService executorService; @Autowired private CalCpcIndexService calCpcIndexService; @Autowired @@ -45,7 +50,10 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService @Autowired private IndexCollDistrictService indexCollDistrictService; @Autowired - private IndexCollDistrictDepartmentService indexCollDistrictDepartmentService; + private IndexCollDistrictDepartmentService indexCollDistrictDepartmentService; + @Autowired + private IndexCalculateService indexCalculateService; + /** * desc:从统计库对象抽取指标数据 * @@ -56,7 +64,7 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService String monthId = formDTO.getMonthId(); String customerId = formDTO.getCustomerId(); if (StringUtils.isBlank(monthId)) { - monthId = LocalDate.now().minusMonths(NumConstant.ONE).toString().replace("-","").substring(NumConstant.ZERO,NumConstant.SIX); + monthId = LocalDate.now().minusMonths(NumConstant.ONE).toString().replace("-", "").substring(NumConstant.ZERO, NumConstant.SIX); } List customerIds = new ArrayList<>(); if (StringUtils.isNotBlank(customerId)) { @@ -67,7 +75,7 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService List customerIdList = null; do { customerIdList = dimCustomerService.selectCustomerIdPage(pageNo++, pageSize); - if (!CollectionUtils.isEmpty(customerIdList)){ + if (!CollectionUtils.isEmpty(customerIdList)) { customerIds.addAll(customerIdList); } } while (!CollectionUtil.isEmpty(customerIdList) && customerIdList.size() == pageSize); @@ -91,88 +99,104 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService private void submitJob(ExtractIndexFormDTO param) { - CountDownLatch countDownLatch = new CountDownLatch(2); + CountDownLatch countDownLatch = new CountDownLatch(NumConstant.SIX); long start = System.currentTimeMillis(); final String customerId = param.getCustomerId(); final String monthId = param.getMonthId(); - threadPool.submit(() -> { + executorService.submit(() -> { try { long startCpc = System.currentTimeMillis(); calCpcIndexService.calCpcPartyAbility(customerId, monthId); - log.error("党员相关-党建能力执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-startCpc, param.getCustomerId()); + log.error("党员相关-党建能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startCpc, param.getCustomerId()); } catch (Exception e) { log.error("抽取【党员相关数据】发生异常,参数:" + JSON.toJSONString(param), e); - }finally { + } finally { countDownLatch.countDown(); } }); - threadPool.submit(() -> { + executorService.submit(() -> { try { long startGridGovern = System.currentTimeMillis(); calGridIndexService.calGridIndexGovernAbility(customerId, monthId); - log.error("网格相关-治理能力执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-startGridGovern, param.getCustomerId()); + log.error("网格相关-治理能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridGovern, param.getCustomerId()); } catch (Exception e) { log.error("抽取【网格治理能力数据】发生异常,参数:" + JSON.toJSONString(param), e); } try { long startGridParty = System.currentTimeMillis(); calGridIndexService.calGridIndexPartyAbility(customerId, monthId); - log.error("网格相关-党建能力执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-startGridParty, param.getCustomerId()); + log.error("网格相关-党建能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridParty, param.getCustomerId()); } catch (Exception e) { log.error("抽取【网格党建能力数据】发生异常,参数:" + JSON.toJSONString(param), e); } try { long startGridService = System.currentTimeMillis(); calGridIndexService.calGridIndexServiceAbility(customerId, monthId); - log.error("网格相关-服务能力执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-startGridService, param.getCustomerId()); + log.error("网格相关-服务能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridService, param.getCustomerId()); } catch (Exception e) { log.error("抽取【网格服务能力数据】发生异常,参数:" + JSON.toJSONString(param), e); } - - try{ - //dimAgency + countDownLatch.countDown(); + }); + executorService.submit(() -> { + try { long startCommunity = System.currentTimeMillis(); indexCollCommunityService.saveCommunityAbility(customerId, monthId); - log.error("社区相关-三大能力执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-startCommunity, param.getCustomerId()); - }catch (Exception e){ + log.error("社区相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startCommunity, param.getCustomerId()); + } catch (Exception e) { log.error("抽取【社区治理能力-社区党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); } - try{ - //dimAgency + countDownLatch.countDown(); + }); + executorService.submit(() -> { + try { long startStreet = System.currentTimeMillis(); indexCollStreetService.saveStreetAbility(customerId, monthId); - log.error("街道相关-三大能力执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-startStreet, param.getCustomerId()); - }catch (Exception e){ + log.error("街道相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startStreet, param.getCustomerId()); + } catch (Exception e) { log.error("抽取【街道治理能力-街道党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); } - - - try{ - //dimAgency + countDownLatch.countDown(); + }); + executorService.submit(() -> { + try { long startDept = System.currentTimeMillis(); indexCollDistrictDepartmentService.saveDepartmentAbility(customerId, monthId); - log.error("区直部门相关-治理能力执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-startDept, param.getCustomerId()); - }catch (Exception e){ + log.error("区直部门相关-治理能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startDept, param.getCustomerId()); + } catch (Exception e) { log.error("抽取【区直部门治理能力】发生异常,参数:" + JSON.toJSONString(param), e); } - - - try{ - //dimAgency + countDownLatch.countDown(); + }); + executorService.submit(() -> { + try { long startDistrict = System.currentTimeMillis(); indexCollDistrictService.saveDistrictAbility(customerId, monthId); - log.error("全区相关-三大能力执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-startDistrict, param.getCustomerId()); - }catch (Exception e){ + log.error("全区相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startDistrict, param.getCustomerId()); + } catch (Exception e) { log.error("抽取【全区治理能力-全区党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); } countDownLatch.countDown(); }); try { + //等前面都执行完 再执行计算指标得分 countDownLatch.await(); + executorService.submit(() -> { + long startT = System.currentTimeMillis(); + CalculateCommonFormDTO formDTO1 = new CalculateCommonFormDTO(); + try { + formDTO1.setMonthId(monthId); + formDTO1.setCustomerId(customerId); + Boolean aBoolean = indexCalculateService.indexCalculate(formDTO1); + HttpClientManager.getInstance().sendAlarmMsg(EnvEnum.getCurrentEnv().getName() + "客户Id:" + customerId + ";monthId:" + monthId + ",calculateAll全部指标计算完成,是否成功:" + aBoolean + ",总耗时:" + (System.currentTimeMillis() - startT) / 1000 + "秒"); + } catch (Exception e) { + log.error("extractMonthly 计算分数异常,参数:{}", JSON.toJSONString(formDTO1)); + } + }); } catch (InterruptedException e) { log.error("indexOriginExtractAll countDownLatch exception", e); } - log.error("indexOriginExtractAll执行完毕======总耗时:{}ms,customerId:{}",System.currentTimeMillis()-start, param.getCustomerId()); + log.info("indexOriginExtractAll及指标计算执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - start, param.getCustomerId()); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 76764c1322..193bebbdfc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -474,20 +474,6 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.info("===== extractMonthly method end not contains shi bei:{}======", customerId); return; } - //此方法保持在最后即可 计算指标分数 todo 优化 手动创建线程池 控制任务数量 - ExecutorService pool = Executors.newSingleThreadExecutor(); - pool.submit(() -> { - long start = System.currentTimeMillis(); - CalculateCommonFormDTO formDTO1 = new CalculateCommonFormDTO(); - try { - formDTO1.setMonthId(monthId); - formDTO1.setCustomerId(customerId); - Boolean aBoolean = indexCalculateService.indexCalculate(formDTO1); - HttpClientManager.getInstance().sendAlarmMsg(EnvEnum.getCurrentEnv().getName() + "客户Id:" + formDTO.getCustomerId() + ";monthId:" + formDTO1.getMonthId() + ",calculateAll全部指标计算完成,是否成功:" + aBoolean + ",总耗时:" + (System.currentTimeMillis() - start) / 1000 + "秒"); - } catch (Exception e) { - log.error("extractMonthly 计算分数异常,参数:{}", JSON.toJSONString(formDTO1)); - } - }); log.info("===== extractMonthly method end ======"); } } From 36f7f9471d8b68bf2249ab895e890bfddb4276fa Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 1 Mar 2022 11:13:48 +0800 Subject: [PATCH 21/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=201.ResultDat?= =?UTF-8?q?aResolver=E4=B8=AD=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/feign/ResultDataResolver.java | 55 ++++++++++++------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java index 1bfa31e96b..8a9bc6ad80 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java @@ -1,9 +1,12 @@ package com.epmet.commons.tools.feign; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Feign请求结果解析器 @@ -12,30 +15,30 @@ public interface ResultDataResolver { /** * @Description 获取Result种的data,如果失败(返回result为null或者result.success为false),那么返回null - * @return + * @return data数据 * @author wxz * @date 2021.06.07 22:45 */ - //default R tryGetResultData(Result result, String targetServiceName) { - // Logger logger = LoggerFactory.getLogger(ResultDataResolver.class); - // if (result == null) { - // logger.error("调用{}服务发生错误,返回Result为null", targetServiceName); - // return null; - // } - // if (!result.success()) { - // logger.error("调用{}服务发生错误,错误信息:{}", targetServiceName, result.getInternalMsg()); - // return null; - // } - // return result.getData(); - //} + default R getResultDataOrReturnNull(Result result, String targetServiceName) { + Logger logger = LoggerFactory.getLogger(ResultDataResolver.class); + if (result == null) { + logger.error("调用{}服务发生错误,返回Result为null", targetServiceName); + return null; + } + if (!result.success()) { + logger.error("调用{}服务发生错误,内部信息:{},错误信息:{}", targetServiceName, result.getInternalMsg(), result.getMsg()); + return null; + } + return result.getData(); + } /** - * @Description - * @return + * @Description 解析Result中的结果,如果请求上游服务返回的结果不成功,则抛出异常 + * @return data数据 * @param targetServiceName 目标service名称 - * @param errorCode 错误码,可以为空,为空则使用上游服务抛出的错误码 - * @param errorInternalMsg 内部错误信息,可以为空,为空则使用上游服务抛出的异常信息 - * @param showMsg 展示给前端程序的错误信息,可以为空。为空则根据errorCode给定错误msg信息 + * @param errorCode 错误码,可以为空,为空则使用8000 + * @param errorInternalMsg 内部错误信息,可以为空,为空则internalMsg="" + * @param showMsg 展示给前端程序的错误信息,可以为空。为空则showMsg="" * @author wxz * @date 2021.06.07 22:45 */ @@ -43,11 +46,25 @@ public interface ResultDataResolver { if (result == null) { throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "调用{}服务发生错误,返回Result为null", targetServiceName); } - if (!result.success()) { + + // 考虑到:上游服务抛出的异常代码和错误消息并不一定适用于当前服务,并且上有服务的错误消息弹出之后可能给用户造成困扰, + // 因此,当前服务抛出异常的时候,不再继承上游服务返回的错误码和错误消息 + /*if (!result.success()) { Integer finalErrorCode = errorCode == null ? result.getCode() : errorCode; String finalErrorInternalMsg = StringUtils.isBlank(errorInternalMsg) ? result.getInternalMsg() : errorInternalMsg; throw new RenException(finalErrorCode, finalErrorInternalMsg, showMsg, RenException.MessageMode.CODE_INTERNAL_EXTERNAL); + }*/ + + if (!result.success()) { + + // 如果不通过参数指定code,则默认使用8000服务器开小差 + Integer finalErrorCode = errorCode == null ? EpmetErrorCode.SERVER_ERROR.getCode() : errorCode; + String finalErrorInternalMsg = StringUtils.isBlank(errorInternalMsg) ? "" : errorInternalMsg; + String finalShowMsg = StringUtils.isBlank(showMsg) ? "" : showMsg; + + throw new EpmetException(finalErrorCode, finalErrorInternalMsg, finalShowMsg); } + return result.getData(); } From 1f248dc02ebb9c68a8365c2a1955b4d6c8251097 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 1 Mar 2022 15:09:39 +0800 Subject: [PATCH 22/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=20common-tool?= =?UTF-8?q?s=E5=A2=9E=E5=8A=A0=E9=80=9A=E7=94=A8=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=B1=A0=E9=85=8D=E7=BD=AE=E7=B1=BB=20=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=A2=9E=E5=8A=A0=E7=BA=BF=E7=A8=8B=E6=B1=A0?= =?UTF-8?q?=E9=85=8D=E7=BD=AExml=E5=92=8Cyml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-admin/epmet-admin-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 13 ++- epmet-auth/pom.xml | 36 +++++++ epmet-auth/src/main/resources/bootstrap.yml | 12 +++ .../commons/tools/config/AsyncConfig.java | 93 +++++++++++++++++++ .../config/EpmetThreadPoolProperties.java | 47 ++++++++++ .../data-aggregator-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../data-report/data-report-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../data-statistical-server/pom.xml | 53 +++++++---- .../java/com/epmet/config/AsyncConfig.java | 49 ---------- .../src/main/resources/bootstrap.yml | 11 ++- .../epmet-activiti-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../common-service-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../epmet-ext/epmet-ext-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../epmet-heart/epmet-heart-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../epmet-message-server/pom.xml | 53 +++++++---- .../java/com/epmet/MessageApplication.java | 2 + .../java/com/epmet/config/AsyncConfig.java | 49 ---------- .../src/main/resources/bootstrap.yml | 12 ++- .../epmet-oss/epmet-oss-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../epmet-point/epmet-point-server/pom.xml | 56 +++++++---- .../java/com/epmet/EpmetPointApplication.java | 2 + .../java/com/epmet/config/AsyncConfig.java | 49 ---------- .../src/main/resources/bootstrap.yml | 11 ++- .../epmet-third/epmet-third-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 13 ++- .../gov-access/gov-access-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 13 ++- epmet-module/gov-grid/gov-grid-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../gov-issue/gov-issue-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ epmet-module/gov-mine/gov-mine-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ epmet-module/gov-org/gov-org-server/pom.xml | 35 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../gov-project/gov-project-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../gov-voice/gov-voice-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../open-data-worker-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 13 ++- .../oper-access/oper-access-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ epmet-module/oper-crm/oper-crm-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../oper-customize-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ .../resi-group/resi-group-server/pom.xml | 52 +++++++---- .../java/com/epmet/ResiGroupApplication.java | 2 + .../java/com/epmet/config/AsyncConfig.java | 49 ---------- .../src/main/resources/bootstrap.yml | 11 ++- epmet-openapi/epmet-openapi-scan/pom.xml | 35 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ epmet-user/epmet-user-server/pom.xml | 36 +++++++ .../src/main/resources/bootstrap.yml | 11 +++ 63 files changed, 1394 insertions(+), 295 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/EpmetThreadPoolProperties.java delete mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/config/AsyncConfig.java delete mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/config/AsyncConfig.java delete mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/config/AsyncConfig.java delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/AsyncConfig.java diff --git a/epmet-admin/epmet-admin-server/pom.xml b/epmet-admin/epmet-admin-server/pom.xml index c3b038a367..0b37977879 100644 --- a/epmet-admin/epmet-admin-server/pom.xml +++ b/epmet-admin/epmet-admin-server/pom.xml @@ -141,6 +141,15 @@ true 192.168.1.140:9876;192.168.1.141:9876 epmet_message + + + true + 5 + 8 + 20 + 60 + epmet-admin + callerRunsPolicy @@ -181,6 +190,15 @@ false 192.168.1.140:9876;192.168.1.141:9876 epmet_message + + + true + 5 + 8 + 20 + 60 + epmet-admin + callerRunsPolicy @@ -217,6 +235,15 @@ true 192.168.10.161:9876 epmet_message + + + true + 5 + 8 + 20 + 60 + epmet-admin + callerRunsPolicy @@ -254,6 +281,15 @@ true 192.168.11.187:9876;192.168.11.184:9876 epmet_message + + + true + 5 + 8 + 20 + 60 + epmet-admin + callerRunsPolicy diff --git a/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml b/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml index fc45940737..80503e260f 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml +++ b/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml @@ -139,4 +139,15 @@ shutdown: rocketmq: enable: @rocketmq.enable@ - name-server: @rocketmq.nameserver@ \ No newline at end of file + name-server: @rocketmq.nameserver@ + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file diff --git a/epmet-auth/pom.xml b/epmet-auth/pom.xml index 41b8b92296..b4c31f05cc 100644 --- a/epmet-auth/pom.xml +++ b/epmet-auth/pom.xml @@ -216,6 +216,15 @@ UUCnxLyXiB4eBF4p https://epmet-cloud.elinkservice.cn + + + true + 5 + 8 + 20 + 60 + epmet-auth + callerRunsPolicy @@ -273,6 +282,15 @@ UUCnxLyXiB4eBF4p https://epmet-cloud.elinkservice.cn + + + true + 5 + 8 + 20 + 60 + epmet-auth + callerRunsPolicy @@ -325,6 +343,15 @@ UUCnxLyXiB4eBF4p https://epmet-cloud.elinkservice.cn + + + true + 5 + 8 + 20 + 60 + epmet-auth + callerRunsPolicy @@ -382,6 +409,15 @@ UUCnxLyXiB4eBF4p https://epmet-cloud.elinkservice.cn + + + true + 5 + 8 + 20 + 60 + epmet-auth + callerRunsPolicy diff --git a/epmet-auth/src/main/resources/bootstrap.yml b/epmet-auth/src/main/resources/bootstrap.yml index bf965caff7..8cdc2c21db 100644 --- a/epmet-auth/src/main/resources/bootstrap.yml +++ b/epmet-auth/src/main/resources/bootstrap.yml @@ -159,3 +159,15 @@ epmet: # third服务的相关配置 third: urlPrefix: @epmet.third.urlprefix@ + + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java new file mode 100644 index 0000000000..2778f3c9ef --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java @@ -0,0 +1,93 @@ +package com.epmet.commons.tools.config; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 线程池配置类 + * thread: + * # 线程池配置 + * threadPool: + * enableCustomize: true [true会使用自定义线程池,false则使用springboot自动配置的线程池。推荐使用自定义线程池] + * 可以只配置此参数,其他参会会使用默认值,但还是建议把参数配置全。 + * corePoolSize: 2 + * maxPoolSize: 4 + * queueCapacity: 2 + * keepAliveSeconds: 60 + * threadNamePrefix: [线程池名字] + * rejectedExecutionHandler: [拒绝策略] + * + * 顺序:核心线程->放入队列->未达到maxPoolSize则继续增加线程直到达到maxPoolSize->拒绝策略 + * 开启自定义线程池:thread.threadPool.enableCustomize=true,不配置或者配置为false,自定义线程池都不会开启 + * rejectedExecutionHandler拒绝策略:abortPolicy/discardPolicy/discardOldestPolicy/callerRunsPolicy(默认) + */ +@EnableConfigurationProperties(EpmetThreadPoolProperties.class) +@Configuration +@ConditionalOnProperty(prefix = "thread.threadPool", name = "enableCustomize", havingValue = "true", matchIfMissing = false) +public class AsyncConfig { + + /** + * 默认值 + */ + private int corePoolSize = 5; + private int maxPoolSize = 8; + private int queueCapacity = 20; + private String threadNamePrefix = "epmet-default-"; + private int keepAliveSeconds = 60; + private String rejectedExecutionHandler = "callerRunsPolicy"; + + public AsyncConfig(EpmetThreadPoolProperties properties) { + if (properties.getCorePoolSize() != null) corePoolSize = properties.getCorePoolSize(); + if (properties.getMaxPoolSize() != null) maxPoolSize = properties.getMaxPoolSize(); + if (properties.getQueueCapacity() != null) queueCapacity = properties.getQueueCapacity(); + if (properties.getThreadNamePrefix() != null) threadNamePrefix = properties.getThreadNamePrefix(); + if (properties.getKeepAliveSeconds() != null) keepAliveSeconds = properties.getKeepAliveSeconds(); + if (properties.getRejectedExecutionHandler() != null) rejectedExecutionHandler = properties.getRejectedExecutionHandler(); + } + + @Bean + public Executor executor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(corePoolSize); + executor.setMaxPoolSize(maxPoolSize); + executor.setQueueCapacity(queueCapacity); + executor.setThreadNamePrefix(threadNamePrefix); + executor.setRejectedExecutionHandler(getRejectedExecutionHandler(rejectedExecutionHandler)); //对拒绝task的处理策略 + executor.setKeepAliveSeconds(keepAliveSeconds); + executor.initialize(); + return executor; + } + + @Bean + public ExecutorService executorService() { + ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); + return executor.getThreadPoolExecutor(); + } + + /** + * 获取拒绝策略handler + * @param policy + * @return + */ + private RejectedExecutionHandler getRejectedExecutionHandler(String policy) { + switch (policy) { + case "abortPolicy": + return new ThreadPoolExecutor.AbortPolicy(); + case "discardPolicy": + return new ThreadPoolExecutor.DiscardPolicy(); + case "discardOldestPolicy": + return new ThreadPoolExecutor.DiscardOldestPolicy(); + default: + // 默认情况下,使用主线程执行 + return new ThreadPoolExecutor.CallerRunsPolicy(); + } + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/EpmetThreadPoolProperties.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/EpmetThreadPoolProperties.java new file mode 100644 index 0000000000..1984a01dec --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/EpmetThreadPoolProperties.java @@ -0,0 +1,47 @@ +package com.epmet.commons.tools.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * 线程池配置参数 + * thread-pool会自动对应到threadPool + */ +@ConfigurationProperties(prefix = "thread.thread-pool") +@Data +public class EpmetThreadPoolProperties { + + /** + * 是否允许自定义线程池 + */ + private Boolean enableCustomize; + /** + * 核心线程数 + */ + private Integer corePoolSize; + + /** + * 最大线程数 + */ + private Integer maxPoolSize; + + /** + * 队列容量 + */ + private Integer queueCapacity; + + /** + * 线程名前缀 + */ + private String threadNamePrefix; + + /** + * 线程存活时长 + */ + private Integer keepAliveSeconds; + + /** + * 拒绝策略 + */ + private String rejectedExecutionHandler; +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index c66ced640a..f05b85d745 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -259,6 +259,15 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + data-aggregator + callerRunsPolicy @@ -375,6 +384,15 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + data-aggregator + callerRunsPolicy @@ -491,6 +509,15 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + data-aggregator + callerRunsPolicy @@ -608,6 +635,15 @@ https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + + + true + 5 + 8 + 20 + 60 + data-aggregator + callerRunsPolicy diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml index 934dcae2c5..9df581e38f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml @@ -191,3 +191,14 @@ dingTalk: logging: level: com.epmet.dataaggre: debug + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index 170d4f0d63..472525e5e7 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -192,6 +192,15 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + data-report + callerRunsPolicy @@ -246,6 +255,15 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + data-report + callerRunsPolicy @@ -300,6 +318,15 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + data-report + callerRunsPolicy @@ -354,6 +381,15 @@ https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + + + true + 5 + 8 + 20 + 60 + data-report + callerRunsPolicy diff --git a/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml b/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml index 2ee366e369..8f7e9c61c4 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml @@ -158,3 +158,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 8b145da840..d142521099 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -286,11 +286,14 @@ false - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + data-statistical + callerRunsPolicy https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -415,11 +418,14 @@ false - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + data-statistical + callerRunsPolicy https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -543,11 +549,15 @@ false - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + data-statistical + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd @@ -667,11 +677,14 @@ false - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + data-statistical + callerRunsPolicy https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/config/AsyncConfig.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/config/AsyncConfig.java deleted file mode 100644 index ba50e40a30..0000000000 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/config/AsyncConfig.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.epmet.config; - -import com.epmet.properties.ThreadProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.ThreadPoolExecutor; - -/** - * 线程池配置类 - */ -@Configuration -@EnableConfigurationProperties(ThreadProperties.class) -@EnableAsync -public class AsyncConfig { - - @Autowired - private ThreadProperties threadProperties; - - @Bean - public Executor executor() { - ThreadProperties.ThreadPoolProperties threadPoolProps = threadProperties.getThreadPool(); - - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(threadPoolProps.getCorePoolSize()); - executor.setMaxPoolSize(threadPoolProps.getMaxPoolSize()); - executor.setQueueCapacity(threadPoolProps.getQueueCapacity()); - executor.setThreadNamePrefix("data-stats-"); - // rejection-policy:当pool已经达到max size的时候,如何处理新任务 - // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行 - executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略 - executor.setKeepAliveSeconds(threadPoolProps.getKeepAlive()); - executor.initialize(); - return executor; - } - - @Bean - public ExecutorService executorService() { - ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); - return executor.getThreadPoolExecutor(); - } - -} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml index c70278a240..8374e06c4f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml @@ -197,10 +197,13 @@ dynamic: thread: # 线程池配置 threadPool: - corePoolSize: @thread.pool.core-pool-size@ - maxPoolSize: @thread.pool.max-pool-size@ - queueCapacity: @thread.pool.queue-capacity@ - keepAlive: @thread.pool.keep-alive@ + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ dingTalk: robot: diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml b/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml index fa8fd80209..3788524034 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml @@ -185,6 +185,15 @@ true false + + + true + 5 + 8 + 20 + 60 + epmet-activiti + callerRunsPolicy @@ -219,6 +228,15 @@ false false + + + true + 5 + 8 + 20 + 60 + epmet-activiti + callerRunsPolicy @@ -250,6 +268,15 @@ true true + + + true + 5 + 8 + 20 + 60 + epmet-activiti + callerRunsPolicy @@ -281,6 +308,15 @@ true true + + + true + 5 + 8 + 20 + 60 + epmet-activiti + callerRunsPolicy diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/bootstrap.yml index f31026085f..b39474ad3d 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/bootstrap.yml @@ -109,3 +109,14 @@ hystrix: ribbon: ReadTimeout: 300000 ConnectTimeout: 300000 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/epmet-common-service/common-service-server/pom.xml b/epmet-module/epmet-common-service/common-service-server/pom.xml index 2e22c32c01..036a6c13bc 100644 --- a/epmet-module/epmet-common-service/common-service-server/pom.xml +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -139,6 +139,15 @@ SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + common-service + callerRunsPolicy @@ -187,6 +196,15 @@ SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + common-service + callerRunsPolicy @@ -233,6 +251,15 @@ SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + common-service + callerRunsPolicy @@ -276,6 +303,15 @@ SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + common-service + callerRunsPolicy diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml index 3da9f56074..1900bf9009 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml @@ -140,3 +140,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/epmet-ext/epmet-ext-server/pom.xml b/epmet-module/epmet-ext/epmet-ext-server/pom.xml index e0d4e979b0..c7c3165af0 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/pom.xml +++ b/epmet-module/epmet-ext/epmet-ext-server/pom.xml @@ -226,6 +226,15 @@ SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + epmet-ext + callerRunsPolicy @@ -267,6 +276,15 @@ SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + epmet-ext + callerRunsPolicy @@ -308,6 +326,15 @@ SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 5 + 8 + 20 + 60 + epmet-ext + callerRunsPolicy @@ -350,6 +377,15 @@ SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + + + true + 5 + 8 + 20 + 60 + epmet-ext + callerRunsPolicy diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml index bf9a797c20..d4e3824a5d 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml @@ -117,3 +117,14 @@ shutdown: openApi: accessToken: expire: 7200 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/epmet-heart/epmet-heart-server/pom.xml b/epmet-module/epmet-heart/epmet-heart-server/pom.xml index ba92a6d321..de94b424d3 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/pom.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/pom.xml @@ -162,6 +162,15 @@ true 192.168.1.140:9876;192.168.1.141:9876 + + + true + 5 + 8 + 20 + 60 + epmet-heart + callerRunsPolicy @@ -209,6 +218,15 @@ false 192.168.1.140:9876;192.168.1.141:9876 + + + true + 5 + 8 + 20 + 60 + epmet-heart + callerRunsPolicy @@ -256,6 +274,15 @@ true 192.168.10.161:9876 + + + true + 5 + 8 + 20 + 60 + epmet-heart + callerRunsPolicy @@ -303,6 +330,15 @@ true 192.168.11.187:9876;192.168.11.184:9876 + + + true + 5 + 8 + 20 + 60 + epmet-heart + callerRunsPolicy diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml index aa43055c8e..31db2a802b 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml @@ -150,3 +150,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index fe91db7f6b..2bef421caa 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -188,10 +188,13 @@ false - 5 - 8 - 10 - 30 + true + 5 + 8 + 20 + 60 + epmet-message + callerRunsPolicy @@ -238,11 +241,15 @@ false - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + epmet-message + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -288,11 +295,15 @@ true - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + epmet-message + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -336,11 +347,15 @@ true - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + epmet-message + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/MessageApplication.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/MessageApplication.java index c32da6dd8a..9affe3659b 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/MessageApplication.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/MessageApplication.java @@ -13,6 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableAsync; /** * 消息模块 @@ -24,6 +25,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @EnableDiscoveryClient @EnableFeignClients @ServletComponentScan +@EnableAsync public class MessageApplication { public static void main(String[] args) { diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/config/AsyncConfig.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/config/AsyncConfig.java deleted file mode 100644 index 95c0b0c55a..0000000000 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/config/AsyncConfig.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.epmet.config; - -import com.epmet.properties.ThreadProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.ThreadPoolExecutor; - -/** - * 线程池配置类 - */ -@Configuration -@EnableConfigurationProperties(ThreadProperties.class) -@EnableAsync -public class AsyncConfig { - - @Autowired - private ThreadProperties threadProperties; - - @Bean - public Executor executor() { - ThreadProperties.ThreadPoolProperties threadPoolProps = threadProperties.getThreadPool(); - - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(threadPoolProps.getCorePoolSize()); - executor.setMaxPoolSize(threadPoolProps.getMaxPoolSize()); - executor.setQueueCapacity(threadPoolProps.getQueueCapacity()); - executor.setThreadNamePrefix("epmet-message-"); - // rejection-policy:当pool已经达到max size的时候,如何处理新任务 - // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行 - executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略 - executor.setKeepAliveSeconds(threadPoolProps.getKeepAlive()); - executor.initialize(); - return executor; - } - - @Bean - public ExecutorService executorService() { - ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); - return executor.getThreadPoolExecutor(); - } - -} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml index f4f88d87ca..84dd154e10 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml @@ -126,10 +126,13 @@ pagehelper: thread: # 线程池配置 threadPool: - corePoolSize: @thread.pool.core-pool-size@ - maxPoolSize: @thread.pool.max-pool-size@ - queueCapacity: @thread.pool.queue-capacity@ - keepAlive: @thread.pool.keep-alive@ + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ dingTalk: robot: @@ -146,3 +149,4 @@ rocketmq: name-server: @rocketmq.nameserver@ producer: group: @rocketmq.producer.group@ + diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml index e27a7d8103..e1aa4893b4 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml @@ -146,6 +146,15 @@ false + + true + 5 + 8 + 20 + 60 + epmet-oss + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -185,6 +194,15 @@ false + + true + 5 + 8 + 20 + 60 + epmet-oss + callerRunsPolicy + false @@ -225,6 +243,15 @@ true + + true + 5 + 8 + 20 + 60 + epmet-oss + callerRunsPolicy + true @@ -262,6 +289,15 @@ true + + true + 5 + 8 + 20 + 60 + epmet-oss + callerRunsPolicy + true diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml index 1b939a5edd..334e1e5629 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml @@ -143,3 +143,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/epmet-point/epmet-point-server/pom.xml b/epmet-module/epmet-point/epmet-point-server/pom.xml index 8aea483cfd..2dcda97101 100644 --- a/epmet-module/epmet-point/epmet-point-server/pom.xml +++ b/epmet-module/epmet-point/epmet-point-server/pom.xml @@ -159,11 +159,15 @@ false - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + epmet-point + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd @@ -206,11 +210,15 @@ false - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + epmet-point + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd @@ -253,11 +261,15 @@ true - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + epmet-point + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd @@ -300,11 +312,15 @@ true - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + epmet-point + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/EpmetPointApplication.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/EpmetPointApplication.java index e2925628ba..79d5713a34 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/EpmetPointApplication.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/EpmetPointApplication.java @@ -5,6 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableAsync; /** * 模块 @@ -16,6 +17,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @EnableDiscoveryClient @EnableFeignClients @ServletComponentScan +@EnableAsync public class EpmetPointApplication { public static void main(String[] args) { SpringApplication.run(EpmetPointApplication.class, args); diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/config/AsyncConfig.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/config/AsyncConfig.java deleted file mode 100644 index 2573cbd4ab..0000000000 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/config/AsyncConfig.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.epmet.config; - -import com.epmet.properties.ThreadProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.ThreadPoolExecutor; - -/** - * 线程池配置类 - */ -@Configuration -@EnableConfigurationProperties(ThreadProperties.class) -@EnableAsync -public class AsyncConfig { - - @Autowired - private ThreadProperties threadProperties; - - @Bean - public Executor executor() { - ThreadProperties.ThreadPoolProperties threadPoolProps = threadProperties.getThreadPool(); - - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(threadPoolProps.getCorePoolSize()); - executor.setMaxPoolSize(threadPoolProps.getMaxPoolSize()); - executor.setQueueCapacity(threadPoolProps.getQueueCapacity()); - executor.setThreadNamePrefix("epmet-point-"); - // rejection-policy:当pool已经达到max size的时候,如何处理新任务 - // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行 - executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略 - executor.setKeepAliveSeconds(threadPoolProps.getKeepAlive()); - executor.initialize(); - return executor; - } - - @Bean - public ExecutorService executorService() { - ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); - return executor.getThreadPoolExecutor(); - } - -} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml index 4d5434a25f..b3fa3f8fe9 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml @@ -126,10 +126,13 @@ pagehelper: thread: # 线程池配置 threadPool: - corePoolSize: @thread.pool.core-pool-size@ - maxPoolSize: @thread.pool.max-pool-size@ - queueCapacity: @thread.pool.queue-capacity@ - keepAlive: @thread.pool.keep-alive@ + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ dingTalk: robot: diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index 0b24d1acb0..a319b011d2 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -212,6 +212,15 @@ true + + true + 5 + 8 + 20 + 60 + epmet-third + callerRunsPolicy + false @@ -263,6 +272,15 @@ false + + true + 5 + 8 + 20 + 60 + epmet-third + callerRunsPolicy + false @@ -313,6 +331,15 @@ true + + true + 5 + 8 + 20 + 60 + epmet-third + callerRunsPolicy + true @@ -364,6 +391,15 @@ true + + true + 5 + 8 + 20 + 60 + epmet-third + callerRunsPolicy + true diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml index 1ad3de55ca..67b1a2740e 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml @@ -160,4 +160,15 @@ rocketmq: enable: @rocketmq.block-chain.enable@ name-server: @rocketmq.block-chain.name-server@ access-key: @rocketmq.block-chain.access-key@ - secret-key: @rocketmq.block-chain.secret-key@ \ No newline at end of file + secret-key: @rocketmq.block-chain.secret-key@ + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/pom.xml b/epmet-module/gov-access/gov-access-server/pom.xml index 35f2a95c85..b99aea3799 100644 --- a/epmet-module/gov-access/gov-access-server/pom.xml +++ b/epmet-module/gov-access/gov-access-server/pom.xml @@ -127,6 +127,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-access + callerRunsPolicy + false @@ -166,6 +175,15 @@ false + + true + 5 + 8 + 20 + 60 + gov-access + callerRunsPolicy + false @@ -205,6 +223,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-access + callerRunsPolicy + true @@ -241,6 +268,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-access + callerRunsPolicy + true diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml b/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml index 0531e3885e..94f07d888b 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml @@ -130,4 +130,15 @@ logging: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/pom.xml b/epmet-module/gov-grid/gov-grid-server/pom.xml index 3e4eac304b..5a7686b00c 100644 --- a/epmet-module/gov-grid/gov-grid-server/pom.xml +++ b/epmet-module/gov-grid/gov-grid-server/pom.xml @@ -119,6 +119,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-grid + callerRunsPolicy + false @@ -153,6 +162,15 @@ false + + true + 5 + 8 + 20 + 60 + gov-grid + callerRunsPolicy + false @@ -187,6 +205,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-grid + callerRunsPolicy + true @@ -221,6 +248,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-grid + callerRunsPolicy + true diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml b/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml index d9f0085bd7..f9d8a3caa6 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml @@ -89,3 +89,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index c09284177c..0132b21cca 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -169,6 +169,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-issue + callerRunsPolicy + false https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -212,6 +221,15 @@ false + + true + 5 + 8 + 20 + 60 + gov-issue + callerRunsPolicy + false https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -255,6 +273,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-issue + callerRunsPolicy + true https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -294,6 +321,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-issue + callerRunsPolicy + true https://epmet-open.elinkservice.cn/api/epmetscan/api diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml index 93a00cd354..af7dee2c58 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml @@ -142,3 +142,14 @@ shutdown: rocketmq: enable: @rocketmq.enable@ name-server: @rocketmq.nameserver@ + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml index c643659b07..22c67633ee 100644 --- a/epmet-module/gov-mine/gov-mine-server/pom.xml +++ b/epmet-module/gov-mine/gov-mine-server/pom.xml @@ -139,6 +139,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-mine + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -172,6 +181,15 @@ false + + true + 5 + 8 + 20 + 60 + gov-mine + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -205,6 +223,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-mine + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -235,6 +262,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-mine + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml b/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml index 97052173b9..88eabe8772 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml @@ -108,3 +108,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index 094292fe13..5fcba99cf3 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -198,6 +198,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-org + callerRunsPolicy + false @@ -243,6 +252,15 @@ false + + true + 5 + 8 + 20 + 60 + gov-org + callerRunsPolicy + false @@ -288,6 +306,14 @@ true + + true + 5 + 8 + 20 + 60 + gov-org + callerRunsPolicy true @@ -331,6 +357,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-org + callerRunsPolicy + true diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml index ddd78b7407..8039b75e00 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml @@ -154,3 +154,14 @@ rocketmq: name-server: @rocketmq.nameserver@ # consume-thread-min: 2 # consume-thread-max: 2 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 69e7500932..88e598b596 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -187,6 +187,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-project + callerRunsPolicy + false https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -229,6 +238,15 @@ false + + true + 5 + 8 + 20 + 60 + gov-project + callerRunsPolicy + false https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -270,6 +288,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-project + callerRunsPolicy + true https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -308,6 +335,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-project + callerRunsPolicy + true https://epmet-open.elinkservice.cn/api/epmetscan/api diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml b/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml index 7821e73e53..15aa1dcbfb 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml @@ -141,3 +141,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/gov-voice/gov-voice-server/pom.xml b/epmet-module/gov-voice/gov-voice-server/pom.xml index 305075f3a6..acee6a8306 100644 --- a/epmet-module/gov-voice/gov-voice-server/pom.xml +++ b/epmet-module/gov-voice/gov-voice-server/pom.xml @@ -132,6 +132,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-voice + callerRunsPolicy + false https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -173,6 +182,15 @@ false + + true + 5 + 8 + 20 + 60 + gov-voice + callerRunsPolicy + false https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -214,6 +232,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-voice + callerRunsPolicy + true https://epmet-dev.elinkservice.cn/api/epmetscan/api @@ -252,6 +279,15 @@ true + + true + 5 + 8 + 20 + 60 + gov-voice + callerRunsPolicy + true https://epmet-open.elinkservice.cn/api/epmetscan/api diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml index 16425361b7..352c1d59e4 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml @@ -129,3 +129,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ diff --git a/epmet-module/open-data-worker/open-data-worker-server/pom.xml b/epmet-module/open-data-worker/open-data-worker-server/pom.xml index 802f37d762..f5e8264f49 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/pom.xml +++ b/epmet-module/open-data-worker/open-data-worker-server/pom.xml @@ -140,6 +140,15 @@ true + + true + 5 + 8 + 20 + 60 + open-data-worker + callerRunsPolicy + false @@ -183,6 +192,15 @@ false + + true + 5 + 8 + 20 + 60 + open-data-worker + callerRunsPolicy + false @@ -226,6 +244,15 @@ true + + true + 5 + 8 + 20 + 60 + open-data-worker + callerRunsPolicy + true @@ -266,6 +293,15 @@ true + + true + 5 + 8 + 20 + 60 + open-data-worker + callerRunsPolicy + true diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/bootstrap.yml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/bootstrap.yml index 49db95eb6d..a27e8fdf66 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/bootstrap.yml +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/bootstrap.yml @@ -135,4 +135,15 @@ dingTalk: rocketmq: # 是否开启mq enable: @rocketmq.enable@ - name-server: @rocketmq.nameserver@ \ No newline at end of file + name-server: @rocketmq.nameserver@ + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/pom.xml b/epmet-module/oper-access/oper-access-server/pom.xml index 8d3c8706e8..0089943bf7 100644 --- a/epmet-module/oper-access/oper-access-server/pom.xml +++ b/epmet-module/oper-access/oper-access-server/pom.xml @@ -120,6 +120,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-access + callerRunsPolicy + false @@ -160,6 +169,15 @@ false + + true + 5 + 8 + 20 + 60 + oper-access + callerRunsPolicy + false @@ -200,6 +218,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-access + callerRunsPolicy + true @@ -237,6 +264,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-access + callerRunsPolicy + true diff --git a/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml b/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml index ba387b80c4..9ed804a4a3 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml @@ -132,3 +132,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index f972dcffbf..f91fbdafc0 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -165,6 +165,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-crm + callerRunsPolicy + false @@ -205,6 +214,15 @@ false + + true + 5 + 8 + 20 + 60 + oper-crm + callerRunsPolicy + false @@ -245,6 +263,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-crm + callerRunsPolicy + true @@ -285,6 +312,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-crm + callerRunsPolicy + true diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml index dc81eba455..15bb6eb0be 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml @@ -138,3 +138,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/pom.xml b/epmet-module/oper-customize/oper-customize-server/pom.xml index d1e566e165..8ab9300ff5 100644 --- a/epmet-module/oper-customize/oper-customize-server/pom.xml +++ b/epmet-module/oper-customize/oper-customize-server/pom.xml @@ -137,6 +137,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-customize + callerRunsPolicy + false @@ -182,6 +191,15 @@ false + + true + 5 + 8 + 20 + 60 + oper-customize + callerRunsPolicy + false @@ -227,6 +245,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-customize + callerRunsPolicy + true @@ -269,6 +296,15 @@ true + + true + 5 + 8 + 20 + 60 + oper-customize + callerRunsPolicy + true diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml index c5dec6d251..346506fb54 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml @@ -136,3 +136,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index 1a1462c00b..bd232b3aac 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -193,11 +193,14 @@ 52d9d9b0e7d0eb5b8b81c205b579e07c https://epmet-dev.elinkservice.cn/api/epmetscan/api - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + resi-group + callerRunsPolicy @@ -252,11 +255,14 @@ 52d9d9b0e7d0eb5b8b81c205b579e07c https://epmet-dev.elinkservice.cn/api/epmetscan/api - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + resi-group + callerRunsPolicy @@ -309,11 +315,14 @@ 96d788191a10ff57a125157183413004 https://epmet-dev.elinkservice.cn/api/epmetscan/api - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + resi-group + callerRunsPolicy @@ -365,11 +374,14 @@ 7ce17f65826539ff3e8616dccd4b70fc https://epmet-open.elinkservice.cn/api/epmetscan/api - - 5 - 8 - 10 - 30 + + true + 5 + 8 + 20 + 60 + resi-group + callerRunsPolicy diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java index 0976927df0..eafe96e728 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java @@ -13,6 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableAsync; /** * 模块 @@ -24,6 +25,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @EnableDiscoveryClient @EnableFeignClients @ServletComponentScan +@EnableAsync public class ResiGroupApplication { public static void main(String[] args) { diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/AsyncConfig.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/AsyncConfig.java deleted file mode 100644 index 8a1a958939..0000000000 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/AsyncConfig.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.epmet.config; - -import com.epmet.properties.ThreadProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.ThreadPoolExecutor; - -/** - * 线程池配置类 - */ -@Configuration -@EnableConfigurationProperties(ThreadProperties.class) -@EnableAsync -public class AsyncConfig { - - @Autowired - private ThreadProperties threadProperties; - - @Bean - public Executor executor() { - ThreadProperties.ThreadPoolProperties threadPoolProps = threadProperties.getThreadPool(); - - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(threadPoolProps.getCorePoolSize()); - executor.setMaxPoolSize(threadPoolProps.getMaxPoolSize()); - executor.setQueueCapacity(threadPoolProps.getQueueCapacity()); - executor.setThreadNamePrefix("epmet-resi-group-"); - // rejection-policy:当pool已经达到max size的时候,如何处理新任务 - // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行 - executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略 - executor.setKeepAliveSeconds(threadPoolProps.getKeepAlive()); - executor.initialize(); - return executor; - } - - @Bean - public ExecutorService executorService() { - ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); - return executor.getThreadPoolExecutor(); - } - -} diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml index 3e553a5364..e9a8edafd3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml @@ -144,10 +144,13 @@ openapi: thread: # 线程池配置 threadPool: - corePoolSize: @thread.pool.core-pool-size@ - maxPoolSize: @thread.pool.max-pool-size@ - queueCapacity: @thread.pool.queue-capacity@ - keepAlive: @thread.pool.keep-alive@ + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ dingTalk: diff --git a/epmet-openapi/epmet-openapi-scan/pom.xml b/epmet-openapi/epmet-openapi-scan/pom.xml index 289dd8a2f9..df86510504 100644 --- a/epmet-openapi/epmet-openapi-scan/pom.xml +++ b/epmet-openapi/epmet-openapi-scan/pom.xml @@ -107,6 +107,15 @@ true + + true + 5 + 8 + 20 + 60 + epmet-openapi-scan + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -142,6 +151,15 @@ false + + true + 5 + 8 + 20 + 60 + epmet-openapi-scan + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -172,6 +190,15 @@ true + + true + 5 + 8 + 20 + 60 + epmet-openapi-scan + callerRunsPolicy + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 @@ -207,6 +234,14 @@ true + + true + 5 + 8 + 20 + 60 + epmet-openapi-scan + callerRunsPolicy diff --git a/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml b/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml index 07a611bc39..108c714da6 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml +++ b/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml @@ -91,3 +91,14 @@ shutdown: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ + diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 8d021ca7a8..d33a909620 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -231,6 +231,15 @@ true 192.168.1.140:9876;192.168.1.141:9876 + + + true + 5 + 8 + 10 + 60 + epmet-user + callerRunsPolicy @@ -276,6 +285,15 @@ false 192.168.1.140:9876;192.168.1.141:9876 + + + true + 5 + 8 + 10 + 60 + epmet-user + callerRunsPolicy @@ -320,6 +338,15 @@ true 192.168.10.161:9876 + + + true + 5 + 8 + 10 + 60 + epmet-user + callerRunsPolicy @@ -363,6 +390,15 @@ true 192.168.11.187:9876;192.168.11.184:9876 + + + true + 5 + 8 + 10 + 60 + epmet-user + callerRunsPolicy diff --git a/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml b/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml index cce9a52831..37b078e18f 100644 --- a/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml +++ b/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml @@ -165,3 +165,14 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +thread: + # 线程池配置 + threadPool: + enableCustomize: @thread.threadPool.enable-customize@ + corePoolSize: @thread.threadPool.core-pool-size@ + maxPoolSize: @thread.threadPool.max-pool-size@ + queueCapacity: @thread.threadPool.queue-capacity@ + keepAliveSeconds: @thread.threadPool.keep-alive-seconds@ + threadNamePrefix: @thread.threadPool.thread-name-prefix@ + rejectedExecutionHandler: @thread.threadPool.rejected-execution-handler@ \ No newline at end of file From c3cef2d4fb227044bd46a6ecbe2bbde80c8af4aa Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 1 Mar 2022 15:41:37 +0800 Subject: [PATCH 23/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataToIndex/impl/CalCpcIndexServiceImpl.java | 2 +- .../impl/IndexOriginExtractServiceImpl.java | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalCpcIndexServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalCpcIndexServiceImpl.java index 353c3ad882..b78ebc1588 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalCpcIndexServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalCpcIndexServiceImpl.java @@ -311,7 +311,7 @@ public class CalCpcIndexServiceImpl implements CalCpcIndexService { //1、查询当前党员建了多少个组 List groupIdList = userCreatedGroups.get(partyMember.getUserId()); if (CollectionUtils.isEmpty(groupIdList)) { - log.info("当前党员userId="+partyMember.getUserId()+"没有创建过小组, 【党员相关-党员自建群活跃群众人数】赋值0"); + log.warn("当前党员userId="+partyMember.getUserId()+"没有创建过小组, 【党员相关-党员自建群活跃群众人数】赋值0"); map.put(partyMember.getUserId(), NumConstant.ZERO); continue; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java index 20c44c46cf..16085858c8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java @@ -107,7 +107,7 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService try { long startCpc = System.currentTimeMillis(); calCpcIndexService.calCpcPartyAbility(customerId, monthId); - log.error("党员相关-党建能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startCpc, param.getCustomerId()); + log.info("党员相关-党建能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startCpc, param.getCustomerId()); } catch (Exception e) { log.error("抽取【党员相关数据】发生异常,参数:" + JSON.toJSONString(param), e); } finally { @@ -118,21 +118,21 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService try { long startGridGovern = System.currentTimeMillis(); calGridIndexService.calGridIndexGovernAbility(customerId, monthId); - log.error("网格相关-治理能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridGovern, param.getCustomerId()); + log.info("网格相关-治理能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridGovern, param.getCustomerId()); } catch (Exception e) { log.error("抽取【网格治理能力数据】发生异常,参数:" + JSON.toJSONString(param), e); } try { long startGridParty = System.currentTimeMillis(); calGridIndexService.calGridIndexPartyAbility(customerId, monthId); - log.error("网格相关-党建能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridParty, param.getCustomerId()); + log.info("网格相关-党建能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridParty, param.getCustomerId()); } catch (Exception e) { log.error("抽取【网格党建能力数据】发生异常,参数:" + JSON.toJSONString(param), e); } try { long startGridService = System.currentTimeMillis(); calGridIndexService.calGridIndexServiceAbility(customerId, monthId); - log.error("网格相关-服务能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridService, param.getCustomerId()); + log.info("网格相关-服务能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startGridService, param.getCustomerId()); } catch (Exception e) { log.error("抽取【网格服务能力数据】发生异常,参数:" + JSON.toJSONString(param), e); } @@ -142,7 +142,7 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService try { long startCommunity = System.currentTimeMillis(); indexCollCommunityService.saveCommunityAbility(customerId, monthId); - log.error("社区相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startCommunity, param.getCustomerId()); + log.info("社区相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startCommunity, param.getCustomerId()); } catch (Exception e) { log.error("抽取【社区治理能力-社区党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); } @@ -152,7 +152,7 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService try { long startStreet = System.currentTimeMillis(); indexCollStreetService.saveStreetAbility(customerId, monthId); - log.error("街道相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startStreet, param.getCustomerId()); + log.info("街道相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startStreet, param.getCustomerId()); } catch (Exception e) { log.error("抽取【街道治理能力-街道党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); } @@ -162,7 +162,7 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService try { long startDept = System.currentTimeMillis(); indexCollDistrictDepartmentService.saveDepartmentAbility(customerId, monthId); - log.error("区直部门相关-治理能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startDept, param.getCustomerId()); + log.info("区直部门相关-治理能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startDept, param.getCustomerId()); } catch (Exception e) { log.error("抽取【区直部门治理能力】发生异常,参数:" + JSON.toJSONString(param), e); } @@ -172,7 +172,7 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService try { long startDistrict = System.currentTimeMillis(); indexCollDistrictService.saveDistrictAbility(customerId, monthId); - log.error("全区相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startDistrict, param.getCustomerId()); + log.info("全区相关-三大能力执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - startDistrict, param.getCustomerId()); } catch (Exception e) { log.error("抽取【全区治理能力-全区党建能力-服务能力】发生异常,参数:" + JSON.toJSONString(param), e); } From 5128a9202b86092d222ee8c177da72b31a4b8a15 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 1 Mar 2022 16:11:29 +0800 Subject: [PATCH 24/26] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataToIndex/impl/IndexOriginExtractServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java index 16085858c8..26c952ff79 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java @@ -178,7 +178,7 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService } countDownLatch.countDown(); }); - + log.info("indexOriginExtractAll======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - start, param.getCustomerId()); try { //等前面都执行完 再执行计算指标得分 countDownLatch.await(); @@ -197,6 +197,5 @@ public class IndexOriginExtractServiceImpl implements IndexOriginExtractService } catch (InterruptedException e) { log.error("indexOriginExtractAll countDownLatch exception", e); } - log.info("indexOriginExtractAll及指标计算执行完毕======总耗时:{}ms,customerId:{}", System.currentTimeMillis() - start, param.getCustomerId()); } } From 94ec1cceb97d33b029770803bb48dad9876f76bd Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 1 Mar 2022 16:44:52 +0800 Subject: [PATCH 25/26] =?UTF-8?q?stats=20=E5=8E=BB=E6=8E=89=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=B1=A0=E5=AE=9A=E4=B9=89=20=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=9C=8D=E5=8A=A1=E5=AE=9A=E4=B9=89=E7=9A=84?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=B1=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/DemoController.java | 14 ++----- .../ScreenExtractDailyController.java | 12 ++---- .../external/IndexCalculateController.java | 16 +++---- .../biz/impl/BizDataStatsServiceImpl.java | 7 ---- .../impl/IndexOriginExtractServiceImpl.java | 5 --- .../impl/FactOriginExtractServiceImpl.java | 29 +++++-------- .../impl/ScreenExtractServiceImpl.java | 42 +++++-------------- .../service/impl/TopicDraftServiceImpl.java | 28 ++++--------- 8 files changed, 41 insertions(+), 112 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index e7ba9b027f..a0abb1b2e2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -1098,12 +1098,6 @@ public class DemoController { return new Result(); } - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("ScreenExtractServiceImpl-pool-%d").build(); - ExecutorService threadPool = new ThreadPoolExecutor(3, 6, - 10L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); - @Autowired private ScreenProjectCategoryGridAndOrgDailyService screenProjectCategoryGridAndOrgDailyService; @@ -1118,20 +1112,20 @@ public class DemoController { if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)){ List daysBetween = DateUtils.getDaysBetween(startDate, endDate); daysBetween.forEach(d -> { - threadPool.submit(() -> { + executorService.submit(() -> { screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,d); }); - threadPool.submit(() -> { + executorService.submit(() -> { screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,d); }); result.add(d); redisUtils.hSet(RedisKeys.getBackDoorbizExcuteResult("gridandorgdailynew"),customerId,result,3*24*60*60L); }); }else { - threadPool.submit(() -> { + executorService.submit(() -> { screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,dateId); }); - threadPool.submit(() -> { + executorService.submit(() -> { screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,dateId); }); result.add(dateId); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java index 07919aa425..756ecc2d8a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java @@ -5,7 +5,6 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.service.evaluationindex.extract.toscreen.ScreenExtractService; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -13,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.concurrent.*; +import java.util.concurrent.ExecutorService; /** * @Author zxc @@ -23,13 +22,10 @@ import java.util.concurrent.*; @RestController @RequestMapping("screenextract") public class ScreenExtractDailyController { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("ScreenExtractDailyController-pool-%d").build(); - ExecutorService threadPool = new ThreadPoolExecutor(1, 1, - 10L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); @Autowired private ScreenExtractService screenExtractService; + @Autowired + private ExecutorService executorService; /** * @param extractOriginFormDTO @@ -39,7 +35,7 @@ public class ScreenExtractDailyController { */ @PostMapping("extractdailyall") public Result screenExtractDaily(@RequestBody ExtractOriginFormDTO extractOriginFormDTO) { - threadPool.submit(() -> { + executorService.submit(() -> { log.info("screenExtractDaily start,param:{}", JSON.toJSONString(extractOriginFormDTO)); try { screenExtractService.extractDailyAll(extractOriginFormDTO); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/IndexCalculateController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/IndexCalculateController.java index 247dc31d7f..15f6cb77c8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/IndexCalculateController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/IndexCalculateController.java @@ -17,7 +17,6 @@ import com.epmet.model.CalculateFlagModel; import com.epmet.service.evaluationindex.indexcal.CpcIndexCalculateService; import com.epmet.service.evaluationindex.indexcal.IndexCalculateService; import com.epmet.util.DimIdGenerator; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -28,7 +27,8 @@ import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Set; -import java.util.concurrent.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; /** * 指标计算controller @@ -40,13 +40,6 @@ import java.util.concurrent.*; @RestController @RequestMapping("indexcalculate") public class IndexCalculateController { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("manual_execute_indexcal-pool-%d").build(); - ExecutorService singleThreadPool = new ThreadPoolExecutor(1, 1, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - - @Autowired private IndexCalculateService indexCalculateService; @@ -55,6 +48,9 @@ public class IndexCalculateController { @Autowired private RedisUtils redisUtils; + @Autowired + private ExecutorService executorService; + // 计算同步锁 private Object statsCalLock = new Object(); @@ -172,7 +168,7 @@ public class IndexCalculateController { * @return */ private void submitCalculate(CalculateCommonFormDTO formDTO) { - Future future = singleThreadPool.submit(() -> { + Future future = executorService.submit(() -> { try { long start = System.currentTimeMillis(); Boolean aBoolean = indexCalculateService.indexCalculate(formDTO); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java index 0b0d0d5f1c..25dd3d764b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/biz/impl/BizDataStatsServiceImpl.java @@ -21,7 +21,6 @@ import com.epmet.service.stats.DimCustomerService; import com.epmet.service.user.StatsStaffPatrolService; import com.epmet.service.user.UserService; import com.epmet.util.DimIdGenerator; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -34,7 +33,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -47,11 +45,6 @@ import java.util.stream.Collectors; @Slf4j @Service public class BizDataStatsServiceImpl implements BizDataStatsService { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("bizDataStats-pool-%d").build(); - ExecutorService threadPool = new ThreadPoolExecutor(3, 6, - 10L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); @Autowired private CustomerStaffService customerStaffService; @Autowired diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java index 26c952ff79..b07c82ceb9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexOriginExtractServiceImpl.java @@ -30,11 +30,6 @@ import java.util.concurrent.ExecutorService; @Slf4j @Service public class IndexOriginExtractServiceImpl implements IndexOriginExtractService { - /*ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("indexOriginExtractAndCal-pool-%d").build(); - ExecutorService threadPool = new ThreadPoolExecutor(1, 1, - 10L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy());*/ @Autowired private ExecutorService executorService; @Autowired diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java index b650e906d3..6db437e591 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java @@ -7,13 +7,10 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO; -import com.epmet.service.StatsGroupService; -import com.epmet.service.StatsTopicService; import com.epmet.service.evaluationindex.extract.todata.*; import com.epmet.service.stats.DimCustomerPartymemberService; import com.epmet.service.stats.DimCustomerService; import com.epmet.util.DimIdGenerator; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -23,7 +20,9 @@ import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.concurrent.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; /** * desc:抽取业务数据 到 统计库 汇聚类 @@ -31,12 +30,6 @@ import java.util.concurrent.*; @Slf4j @Service public class FactOriginExtractServiceImpl implements FactOriginExtractService { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("factOriginExtract-pool-%d").build(); - ExecutorService threadPool = new ThreadPoolExecutor(3, 6, - 10L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); - @Autowired private IssueExtractService issueExtractService; @Autowired @@ -54,9 +47,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { @Autowired private FactGroupActDailyService factGroupActDailyService; @Autowired - private StatsGroupService statsGroupService; - @Autowired - private StatsTopicService statsTopicService; + private ExecutorService executorService; @Override @@ -106,7 +97,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); } List finalDaysBetween = daysBetween; - threadPool.submit(() -> { + executorService.submit(() -> { try { CustomerIdAndDateIdFormDTO formDTO = new CustomerIdAndDateIdFormDTO(); formDTO.setCustomerId(param.getCustomerId()); @@ -132,7 +123,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { countDownLatch.countDown(); } }); - threadPool.submit(() -> { + executorService.submit(() -> { try { ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); if (!isRange) { @@ -156,7 +147,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { countDownLatch.countDown(); } }); - threadPool.submit(() -> { + executorService.submit(() -> { try { log.debug("extractAll start param:{}", JSON.toJSONString(param)); ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); @@ -183,7 +174,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { countDownLatch.countDown(); } }); - threadPool.submit(() -> { + executorService.submit(() -> { try { ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); if (!isRange) { @@ -222,7 +213,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { } }); //小组活动 - threadPool.submit(() -> { + executorService.submit(() -> { try { ExtractOriginFormDTO extractOriginFormDTO = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); if (!isRange) { @@ -339,7 +330,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { @Override public Future submitProjectRelationData(ExtractOriginFormDTO param, List finalDaysBetween) { - Future submit = threadPool.submit(() -> { + Future submit = executorService.submit(() -> { ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); if (CollectionUtils.isEmpty(finalDaysBetween)) { try { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 193bebbdfc..e3ed39133b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -7,22 +7,17 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.distributedlock.LockConstants; -import com.epmet.commons.tools.enums.EnvEnum; import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.dto.extract.form.ExtractFactGridGovernDailyFromDTO; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; -import com.epmet.dto.indexcal.CalculateCommonFormDTO; import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.service.evaluationindex.extract.todata.FactAgencyGovernDailyService; import com.epmet.service.evaluationindex.extract.todata.FactGridGovernDailyService; import com.epmet.service.evaluationindex.extract.todata.FactGridMemberStatisticsDailyService; import com.epmet.service.evaluationindex.extract.toscreen.*; -import com.epmet.service.evaluationindex.indexcal.IndexCalculateService; import com.epmet.service.evaluationindex.screen.*; import com.epmet.service.stats.DimCustomerService; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.redisson.api.RLock; @@ -33,7 +28,9 @@ import org.springframework.util.CollectionUtils; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.TimeUnit; /** * @Author zxc @@ -42,12 +39,6 @@ import java.util.concurrent.*; @Service @Slf4j public class ScreenExtractServiceImpl implements ScreenExtractService { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("ScreenExtractServiceImpl-pool-%d").build(); - ExecutorService threadPool = new ThreadPoolExecutor(3, 6, - 10L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); - @Autowired private DimCustomerService dimCustomerService; @Autowired @@ -65,8 +56,6 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { @Autowired private PublicPartiTotalDataExtractService publicPartiTotalDataExtractService; @Autowired - private IndexCalculateService indexCalculateService; - @Autowired private ScreenCentralZoneDataAbsorptionService screenCentralZoneDataAbsorptionService; @Autowired private ScreenGrassrootsGovernDataAbsorptionService screenGrassrootsGovernDataAbsorptionService; @@ -81,10 +70,6 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { @Autowired private ScreenProjectSettleService screenProjectSettleService; @Autowired - private ScreenProjectCategoryGridDailyService projectCategoryGridDailyService; - @Autowired - private ScreenProjectCategoryOrgDailyService projectCategoryOrgDailyService; - @Autowired private FactGridGovernDailyService factGridGovernDailyService; @Autowired private FactAgencyGovernDailyService factAgencyGovernDailyService; @@ -94,6 +79,9 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { private ScreenProjectCategoryGridAndOrgDailyService screenProjectCategoryGridAndOrgDailyService; @Autowired private DistributedLock distributedLock; + @Autowired + private ExecutorService executorService; + /** * @param extractOriginFormDTO @@ -183,7 +171,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { lock = distributedLock.getLock(LockConstants.SCREEN_DAILY, NumConstant.SIX_HUNDRED_L, NumConstant.TEN_L, TimeUnit.SECONDS); //等待3个线程执行完毕后再 继续执行下一个客户的 避免死锁 final CountDownLatch latch = new CountDownLatch(NumConstant.FOUR); - threadPool.submit(() -> { + executorService.submit(() -> { //党员基本情况screen_cpc_base_data try { try { @@ -215,7 +203,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { } }); - threadPool.submit(() -> { + executorService.submit(() -> { //公众参与排行(注册人数、参与人数、话题数、议题数、项目数)screen_public_party_total_data try { @@ -263,7 +251,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.info("extractDaily 2 thread run end ========= dateId:{},customerId:{}", dateId, customerId); } }); - threadPool.submit(() -> { + executorService.submit(() -> { try { try { @@ -283,7 +271,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.info("extractDaily 3 thread run end ========= dateId:{},customerId:{}", dateId, customerId); } }); - threadPool.submit(() -> { + executorService.submit(() -> { //治理能力排行screen_govern_rank_data try { try { @@ -447,16 +435,6 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { } catch (Exception e) { log.error("党建引领抽取到大屏失败,参数为:" + JSON.toJSONString(formDTO), e); } - //已经挪到天抽取的抽取里了 - /* try { - //基层治理 - 热心市民 screen_party_user_rank_data - ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); - param.setCustomerId(customerId); - param.setDateId(monthId); - screenGrassrootsGovernDataAbsorptionService.userScoreDataHub(param); - } catch (Exception e) { - log.error("大屏热心市民/党员得分数据写入失败,参数为:{}" + JSON.toJSONString(formDTO), e); - }*/ try { // 项目(事件)数量分析按网格_按月统计 screenProjectQuantityGridMonthlyService.extractionProjectGridMonthly(customerId, monthId); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java index 0d681d7368..8706317b90 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -17,7 +17,6 @@ package com.epmet.modules.topic.service.impl; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -25,8 +24,8 @@ import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.MqConstant; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; +import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.commons.tools.enums.EventEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; @@ -37,19 +36,18 @@ import com.epmet.commons.tools.scan.result.AsyncScanTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.scan.result.VoiceResultDTO; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.SystemMessageType; import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.SystemMsgFormDTO; import com.epmet.dto.result.AllGridsByUserIdResultDTO; -import com.epmet.dto.result.UserInfoResultDTO; import com.epmet.dto.result.CommonDataFilterResultDTO; -import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.dto.result.UserInfoResultDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; -import com.epmet.commons.tools.enums.AchievementTypeEnum; -import com.epmet.modules.feign.EpmetUserFeignClient; -import com.epmet.modules.group.dao.GroupMessageDao; import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.group.dao.GroupMessageDao; import com.epmet.modules.group.dao.ResiGroupDao; @@ -58,7 +56,6 @@ import com.epmet.modules.group.entity.GroupMessageEntity; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupStatisticalEntity; import com.epmet.modules.group.redis.ResiGroupRedis; -import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.service.ResiGroupMemberService; import com.epmet.modules.topic.dao.ResiTopicAttachmentDao; @@ -84,7 +81,6 @@ import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; import com.epmet.resi.group.dto.topic.result.TopicAuditResultDTO; import com.epmet.send.SendMqMsgUtil; import com.google.common.base.CharMatcher; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -97,7 +93,6 @@ import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -111,11 +106,6 @@ import java.util.stream.Collectors; public class TopicDraftServiceImpl extends BaseServiceImpl implements TopicDraftService { private static Logger logger = LoggerFactory.getLogger(TopicDraftServiceImpl.class); - private ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("TopicDraftService-pool-%d").build(); - private ExecutorService threadPool = new ThreadPoolExecutor(1, 1, - 1L, TimeUnit.MINUTES, - new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); @Autowired private GovOrgOpenFeignClient govOrgOpenFeignClient; @Autowired @@ -125,12 +115,8 @@ public class TopicDraftServiceImpl extends BaseServiceImpl Date: Tue, 1 Mar 2022 17:42:17 +0800 Subject: [PATCH 26/26] =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E7=BA=AF=E5=B0=8F=E5=86=99=E5=AD=97=E6=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/StringRandomUtils.java | 32 +++++++++++++++++++ .../com/epmet/controller/LoginController.java | 24 -------------- .../com/epmet/service/CaptchaService.java | 10 ------ .../service/impl/CaptchaServiceImpl.java | 20 +++--------- 4 files changed, 37 insertions(+), 49 deletions(-) create mode 100644 epmet-auth/src/main/java/com/epmet/StringRandomUtils.java diff --git a/epmet-auth/src/main/java/com/epmet/StringRandomUtils.java b/epmet-auth/src/main/java/com/epmet/StringRandomUtils.java new file mode 100644 index 0000000000..fbac601c41 --- /dev/null +++ b/epmet-auth/src/main/java/com/epmet/StringRandomUtils.java @@ -0,0 +1,32 @@ +package com.epmet; + +import com.epmet.commons.tools.constant.StrConstant; + +/** + * desc:随机生成字母 + * + * @author: LiuJanJun + * @date: 2022/3/1 5:16 下午 + * @version: 1.0 + */ +public class StringRandomUtils { + + public static String getRandomStr(int length){ + String result = StrConstant.EPMETY_STR; + //小写字母范围: 97~122 + for (int i = 0; i < length; i++) { + int randomNumber = 97 + (int) (Math.random()* (122+1-97)); + result += (char)randomNumber; + } + return result; + } + + public static void main(String[] args) { + StringRandomUtils test = new StringRandomUtils(); + //测试 + for (int i = 0; i < 1000000; i++) { + System.out.println(getRandomStr(5)); + } + } + +} diff --git a/epmet-auth/src/main/java/com/epmet/controller/LoginController.java b/epmet-auth/src/main/java/com/epmet/controller/LoginController.java index c9df95100b..c1fdb8a045 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/LoginController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/LoginController.java @@ -68,30 +68,6 @@ public class LoginController { } } - /** - * @description 基层治理平台登录验证码 - * - * @param response - * @return - * @author wxz - * @date 2021.10.25 14:19:40 - */ - @GetMapping("ic-login-captcha") - public void icLoginCaptcha(HttpServletResponse response, String uuid) throws IOException { - try { - //生成图片验证码 - BufferedImage image = captchaService.createIcLoginCaptcha(uuid); - response.reset(); - response.setHeader("Cache-Control", "no-store, no-cache"); - response.setContentType("image/jpeg"); - ServletOutputStream out = response.getOutputStream(); - ImageIO.write(image, "jpg", out); - out.close(); - } catch (IOException e) { - log.error("获取登陆验证码异常", e); - } - } - /** * @param formDTO * @return com.epmet.commons.tools.utils.Result diff --git a/epmet-auth/src/main/java/com/epmet/service/CaptchaService.java b/epmet-auth/src/main/java/com/epmet/service/CaptchaService.java index 812a586dcb..d6f8573e65 100644 --- a/epmet-auth/src/main/java/com/epmet/service/CaptchaService.java +++ b/epmet-auth/src/main/java/com/epmet/service/CaptchaService.java @@ -23,16 +23,6 @@ public interface CaptchaService { */ BufferedImage create(String uuid); - /** - * @description 基层治理平台登录验证码 - * - * @param - * @return - * @author wxz - * @date 2021.10.25 14:15:30 - */ - BufferedImage createIcLoginCaptcha(String uuid); - /** * 验证码效验 * @param uuid uuid diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/CaptchaServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/CaptchaServiceImpl.java index 115009f9e9..fbdf85b00b 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/CaptchaServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/CaptchaServiceImpl.java @@ -8,16 +8,17 @@ package com.epmet.service.impl; -import com.google.code.kaptcha.Producer; +import com.epmet.StringRandomUtils; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.redis.CaptchaRedis; import com.epmet.service.CaptchaService; +import com.google.code.kaptcha.Producer; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.awt.image.BufferedImage; -import java.util.UUID; /** * 验证码 @@ -35,8 +36,8 @@ public class CaptchaServiceImpl implements CaptchaService { @Override public BufferedImage create(String uuid) { - //生成验证码 - String captcha = producer.createText(); + //生成验证码 //producer.createText(); + String captcha = StringRandomUtils.getRandomStr(NumConstant.FIVE); //logger.info("uuid:"+uuid+",生成的验证码:"+captcha); //保存验证码 captchaRedis.set(uuid, captcha); @@ -44,17 +45,6 @@ public class CaptchaServiceImpl implements CaptchaService { return producer.createImage(captcha); } - @Override - public BufferedImage createIcLoginCaptcha(String uuid) { - //生成验证码 - String captchaText = producer.createText(); - //logger.info("uuid:"+uuid+",生成的验证码:"+captcha); - //保存验证码 - captchaRedis.setIcLoginCaptcha(uuid, captchaText); - - return producer.createImage(captchaText); - } - @Override public boolean validate(String uuid, String code) { String captcha = captchaRedis.get(uuid);