diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/BravoPoolAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/BravoPoolAdminService.java index 16d5e956d..44e745567 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/BravoPoolAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/BravoPoolAdminService.java @@ -1,6 +1,5 @@ package com.accompany.admin.service.lucky; -import cn.hippo4j.common.toolkit.CollectionUtil; import com.accompany.admin.service.system.SysConfAdminService; import com.accompany.admin.vo.BravoConfigAdminVo; import com.accompany.admin.vo.luckybag.BravoPersonalStatVo; @@ -83,7 +82,7 @@ public class BravoPoolAdminService { Date now = new Date(); List poList = listPoolByType(type); - Map poMap = !CollectionUtil.isEmpty(poList)? + Map poMap = !CollectionUtils.isEmpty(poList)? poList.stream().collect(Collectors.toMap(BravoPool::getId, po->po)): new HashMap<>(); diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/Lucky24PoolAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/Lucky24PoolAdminService.java index 4c499db42..f767553bb 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/Lucky24PoolAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/Lucky24PoolAdminService.java @@ -1,6 +1,5 @@ package com.accompany.admin.service.lucky; -import cn.hippo4j.common.toolkit.CollectionUtil; import com.accompany.admin.service.system.SysConfAdminService; import com.accompany.admin.vo.Lucky24ConfigAdminVo; import com.accompany.business.dto.lucky.Lucky24GiftConfig; @@ -57,7 +56,7 @@ public class Lucky24PoolAdminService { Date now = new Date(); List poList = listPoolByType(type); - Map poMap = !CollectionUtil.isEmpty(poList)? + Map poMap = !CollectionUtils.isEmpty(poList)? poList.stream().collect(Collectors.toMap(Lucky24Pool::getId, po->po)): new HashMap<>(); diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/Lucky25PoolAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/Lucky25PoolAdminService.java index 6080e0f03..8181de4af 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/Lucky25PoolAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/lucky/Lucky25PoolAdminService.java @@ -1,6 +1,6 @@ package com.accompany.admin.service.lucky; -import cn.hippo4j.common.toolkit.CollectionUtil; +import org.springframework.util.CollectionUtils; import com.accompany.admin.service.system.SysConfAdminService; import com.accompany.admin.vo.Lucky25ConfigAdminVo; import com.accompany.business.dto.lucky.Lucky25GiftConfig; @@ -58,7 +58,7 @@ public class Lucky25PoolAdminService { Date now = new Date(); List poList = listPoolByType(type); - Map poMap = !CollectionUtil.isEmpty(poList)? + Map poMap = !CollectionUtils.isEmpty(poList)? poList.stream().collect(Collectors.toMap(Lucky25Pool::getId, po->po)): new HashMap<>(); diff --git a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/AdminApplication.java b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/AdminApplication.java index 20d4095f6..9d4f6f083 100644 --- a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/AdminApplication.java +++ b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/AdminApplication.java @@ -1,6 +1,5 @@ package com.accompany.admin; -import cn.hippo4j.core.enable.EnableDynamicThreadPool; import io.micrometer.core.instrument.MeterRegistry; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -17,7 +16,6 @@ import org.springframework.scheduling.annotation.EnableScheduling; * admin * */ -@EnableDynamicThreadPool @SpringBootApplication @ComponentScan({"com.accompany","com.xuanyin"}) @EnableScheduling diff --git a/accompany-admin/accompany-flow-team-admin-web/src/main/java/com/accompany/flowteam/admin/FlowTeamAdminApplication.java b/accompany-admin/accompany-flow-team-admin-web/src/main/java/com/accompany/flowteam/admin/FlowTeamAdminApplication.java index 6f0bb63bf..854abecba 100644 --- a/accompany-admin/accompany-flow-team-admin-web/src/main/java/com/accompany/flowteam/admin/FlowTeamAdminApplication.java +++ b/accompany-admin/accompany-flow-team-admin-web/src/main/java/com/accompany/flowteam/admin/FlowTeamAdminApplication.java @@ -1,6 +1,5 @@ package com.accompany.flowteam.admin; -import cn.hippo4j.core.enable.EnableDynamicThreadPool; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringBootConfiguration; @@ -14,7 +13,6 @@ import org.springframework.scheduling.annotation.EnableScheduling; * admin * */ -@EnableDynamicThreadPool @SpringBootApplication @ComponentScan({"com.accompany","com.xuanyin"}) @EnableScheduling diff --git a/accompany-base/accompany-core/pom.xml b/accompany-base/accompany-core/pom.xml index b0aef8fe5..de9a75231 100644 --- a/accompany-base/accompany-core/pom.xml +++ b/accompany-base/accompany-core/pom.xml @@ -84,18 +84,6 @@ spring-boot-starter-freemarker - - cn.hippo4j - hippo4j-config-spring-boot-starter - ${hippo4j-config-spring-boot-starter.version} - - - - cn.hippo4j - hippo4j-spring-boot-starter-monitor-micrometer - ${hippo4j-config-spring-boot-starter.version} - - org.apache.rocketmq rocketmq-spring-boot-starter diff --git a/accompany-business/accompany-business-service/pom.xml b/accompany-business/accompany-business-service/pom.xml index 8a16d30cd..72e1f6327 100644 --- a/accompany-business/accompany-business-service/pom.xml +++ b/accompany-business/accompany-business-service/pom.xml @@ -63,11 +63,6 @@ accompany-mq-service ${revision} - - cn.hippo4j - hippo4j-core - ${hippo4j-core.version} - com.vaadin.external.google android-json diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/config/ExecutorConfig.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/config/ExecutorConfig.java index ad42f136a..80b4fc1a0 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/config/ExecutorConfig.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/config/ExecutorConfig.java @@ -1,8 +1,5 @@ package com.accompany.business.config; -import cn.hippo4j.core.executor.DynamicThreadPool; -import cn.hippo4j.core.executor.support.ThreadPoolBuilder; -import cn.hippo4j.core.toolkit.ExecutorTraceContextUtil; import com.accompany.common.aop.ApiRequestLogAspect; import com.accompany.core.base.SpringContextHolder; import com.alibaba.fastjson.JSON; @@ -16,6 +13,7 @@ import org.springframework.context.annotation.Primary; import org.springframework.core.task.TaskDecorator; import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import javax.validation.constraints.NotNull; import java.util.UUID; @@ -29,27 +27,47 @@ public class ExecutorConfig implements AsyncConfigurer { @Bean @Primary - @DynamicThreadPool public ThreadPoolExecutor bizExecutor() { String threadPoolId = "biz-executor"; - return ThreadPoolBuilder.builder() - .threadFactory(threadPoolId) - .threadPoolId(threadPoolId) - .taskDecorator(new MDCDecorator()) - .dynamicPool() - .build(); + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + // 核心线程数 + executor.setCorePoolSize(5); + // 最大线程数 + executor.setMaxPoolSize(10); + // 队列容量 + executor.setQueueCapacity(100); + // 线程空闲时间(秒) + executor.setKeepAliveSeconds(60); + // 线程名称前缀 + executor.setThreadNamePrefix(threadPoolId); + executor.setTaskDecorator(new MDCDecorator()); + // 设置拒绝策略 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + // 初始化 + executor.initialize(); + return executor.getThreadPoolExecutor(); } @Bean("async-executor") - @DynamicThreadPool public ThreadPoolExecutor asyncExecutor() { String threadPoolId = "async-executor"; - return ThreadPoolBuilder.builder() - .threadFactory(threadPoolId) - .threadPoolId(threadPoolId) - .taskDecorator(new MDCDecorator()) - .dynamicPool() - .build(); + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + // 核心线程数 + executor.setCorePoolSize(5); + // 最大线程数 + executor.setMaxPoolSize(10); + // 队列容量 + executor.setQueueCapacity(100); + // 线程空闲时间(秒) + executor.setKeepAliveSeconds(60); + // 线程名称前缀 + executor.setThreadNamePrefix(threadPoolId); + executor.setTaskDecorator(new MDCDecorator()); + // 设置拒绝策略 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + // 初始化 + executor.initialize(); + return executor.getThreadPoolExecutor(); } public static class MDCDecorator implements TaskDecorator { @@ -67,7 +85,6 @@ public class ExecutorConfig implements AsyncConfigurer { // Right now: @Async thread context ! // Restore the Web thread context's MDC data MDC.put(ApiRequestLogAspect.TRACE_UUID, traceId); - ExecutorTraceContextUtil.putTimeoutTrace(traceId); runnable.run(); } finally { MDC.remove(ApiRequestLogAspect.TRACE_UUID); diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/rank/Lucky24SendWeekRankRewardService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/rank/Lucky24SendWeekRankRewardService.java index 21c034b23..f27c51e68 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/rank/Lucky24SendWeekRankRewardService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/rank/Lucky24SendWeekRankRewardService.java @@ -1,6 +1,5 @@ package com.accompany.business.service.lucky.rank; -import cn.hippo4j.common.toolkit.CollectionUtil; import com.accompany.business.common.constant.RewardTypeEnum; import com.accompany.business.common.dto.RewardDto; import com.accompany.business.common.vo.RewardVo; @@ -12,7 +11,7 @@ import com.accompany.common.constant.Constant; import com.accompany.common.redis.RedisKey; import com.accompany.common.status.BusiStatus; import com.accompany.common.utils.DateTimeUtil; -import com.accompany.common.utils.NumberUtils; +import com.accompany.core.enumeration.I18nAlertEnum; import com.accompany.core.exception.ServiceException; import com.accompany.core.service.SysConfService; import com.accompany.core.util.I18NMessageSourceUtil; @@ -30,9 +29,6 @@ import org.springframework.util.CollectionUtils; import java.time.Instant; import java.util.*; -import static com.accompany.core.enumeration.I18nAlertEnum.LUCKY_24_SEND_WEEK_RANK_REWARD_TIP; -import static com.accompany.core.enumeration.I18nAlertEnum.ROOM_BOSS_MIC_UP_MSG_I18N; - @Slf4j @Service public class Lucky24SendWeekRankRewardService { @@ -62,7 +58,7 @@ public class Lucky24SendWeekRankRewardService { long rankSize = settlementSizes.stream().mapToLong(Integer::intValue).max().getAsLong(); List list = rankService.listRankItem(lastWeek, rankSize, partitionId); - if (CollectionUtil.isEmpty(list)){ + if (CollectionUtils.isEmpty(list)){ return; } @@ -117,7 +113,7 @@ public class Lucky24SendWeekRankRewardService { } if (rankIndex <= 3){ - String tip = I18NMessageSourceUtil.getMessage(LUCKY_24_SEND_WEEK_RANK_REWARD_TIP, new Object[]{ranking}, partitionId); + String tip = I18NMessageSourceUtil.getMessage(I18nAlertEnum.LUCKY_24_SEND_WEEK_RANK_REWARD_TIP, new Object[]{ranking}, partitionId); sendSysMsgService.sendPersonTextMsg(uid, tip); } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/rank/Lucky24SendWeekRankService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/rank/Lucky24SendWeekRankService.java index b40ac169f..6fb7c4714 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/rank/Lucky24SendWeekRankService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/lucky/rank/Lucky24SendWeekRankService.java @@ -1,6 +1,5 @@ package com.accompany.business.service.lucky.rank; -import cn.hippo4j.common.toolkit.CollectionUtil; import com.accompany.business.model.Gift; import com.accompany.business.service.gift.GiftService; import com.accompany.business.service.level.LevelService; @@ -22,6 +21,7 @@ import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.time.DayOfWeek; @@ -92,7 +92,7 @@ public class Lucky24SendWeekRankService extends AbstractRankService implements I } private Lucky24WeekRankItemVo getUserRankItem(Date now, Users me, List rankItemList) { - if (CollectionUtil.isEmpty(rankItemList)){ + if (CollectionUtils.isEmpty(rankItemList)){ UserLevelVo meLevelVo = levelService.getUserLevelVo(me.getUid()); return new Lucky24WeekRankItemVo(me, meLevelVo, 0, 0d); } @@ -109,7 +109,7 @@ public class Lucky24SendWeekRankService extends AbstractRankService implements I RList rList = getRecordList(partitionId); int size = Math.min(20, rList.size()); List recordList = rList.subList(0, size); - if (CollectionUtil.isEmpty(recordList)){ + if (CollectionUtils.isEmpty(recordList)){ return Collections.emptyList(); } @@ -158,7 +158,7 @@ public class Lucky24SendWeekRankService extends AbstractRankService implements I public List listRankItem(Date date, Long size, Integer partitionId){ Set> rankSet = getRank(date, null, 0L, size - 1, partitionId); - if (CollectionUtil.isEmpty(rankSet)){ + if (CollectionUtils.isEmpty(rankSet)){ return Collections.emptyList(); } diff --git a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/BusinessApplication.java b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/BusinessApplication.java index 43f4766f5..c240c1958 100644 --- a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/BusinessApplication.java +++ b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/BusinessApplication.java @@ -1,6 +1,5 @@ package com.accompany.business; -import cn.hippo4j.core.enable.EnableDynamicThreadPool; import io.micrometer.core.instrument.MeterRegistry; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -17,7 +16,6 @@ import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; -@EnableDynamicThreadPool @SpringBootApplication @EnableTransactionManagement @EnableAspectJAutoProxy(proxyTargetClass = true) diff --git a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/activity/LuckyNumberActController.java b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/activity/LuckyNumberActController.java index 2e29ee495..58ce10100 100644 --- a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/activity/LuckyNumberActController.java +++ b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/activity/LuckyNumberActController.java @@ -1,6 +1,5 @@ package com.accompany.business.controller.activity; -import cn.hippo4j.common.toolkit.CollectionUtil; import com.accompany.business.service.activity.LuckyNumberActService; import com.accompany.business.vo.activity.*; import com.accompany.common.annotation.Authorization; @@ -14,6 +13,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -79,7 +79,7 @@ public class LuckyNumberActController { @Authorization @PostMapping(value = "/batchInput") public BusiResult batchInput(@RequestBody List numbers){ - if (CollectionUtil.isEmpty(numbers)){ + if (CollectionUtils.isEmpty(numbers)){ throw new ServiceException(BusiStatus.PARAMERROR); } diff --git a/accompany-dependencies/pom.xml b/accompany-dependencies/pom.xml index 7e0881d6c..6f411cce7 100644 --- a/accompany-dependencies/pom.xml +++ b/accompany-dependencies/pom.xml @@ -68,7 +68,6 @@ 2.7.0 1.7.2 5.8.38 - 1.5.0 v3-rev20231115-2.0.0 1.0.12 5.5.2 @@ -78,7 +77,6 @@ 3.1.1 2.3.4 2.3.2 - 1.5.0 0.0.20131108.vaadin1 1.64 3.5.3 @@ -137,12 +135,6 @@ ${rocketmq-spring-boot.version} - - cn.hippo4j - hippo4j-config-spring-boot-starter - ${hippo4j-config-spring-boot-starter.version} - - com.mysql mysql-connector-j @@ -717,7 +709,7 @@ peko-public - http://nexus.molistar.xyz/repository/maven-public/ + https://nexus.molistar.xyz/repository/maven-public/ true diff --git a/accompany-oauth2/accompany-oauth2-web/src/main/java/com/accompany/oauth2/OAuth2Application.java b/accompany-oauth2/accompany-oauth2-web/src/main/java/com/accompany/oauth2/OAuth2Application.java index 96b611fb9..a3ac9cae7 100644 --- a/accompany-oauth2/accompany-oauth2-web/src/main/java/com/accompany/oauth2/OAuth2Application.java +++ b/accompany-oauth2/accompany-oauth2-web/src/main/java/com/accompany/oauth2/OAuth2Application.java @@ -1,6 +1,5 @@ package com.accompany.oauth2; -import cn.hippo4j.core.enable.EnableDynamicThreadPool; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringBootConfiguration; @@ -10,9 +9,6 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; -; - -@EnableDynamicThreadPool @SpringBootApplication @ComponentScan("com.accompany") @ServletComponentScan(value = {"com.accompany", "com.xuanyin"}) diff --git a/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/JobApplication.java b/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/JobApplication.java index fa35223bd..a027661bb 100644 --- a/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/JobApplication.java +++ b/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/JobApplication.java @@ -1,6 +1,5 @@ package com.accompany.scheduler; -import cn.hippo4j.core.enable.EnableDynamicThreadPool; import io.micrometer.core.instrument.MeterRegistry; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -16,7 +15,6 @@ import org.springframework.scheduling.annotation.EnableScheduling; * @author PaperCut * @date 2018/6/11 */ -@EnableDynamicThreadPool @SpringBootApplication @ComponentScan({"com.accompany","com.xuanyin"}) @EnableScheduling