From 5df6cb909bafa402cbbbeda54cb42b6744b57b53 Mon Sep 17 00:00:00 2001 From: tianxinlei Date: Tue, 7 Jul 2026 09:34:21 +0800 Subject: [PATCH] =?UTF-8?q?0707=20-=20=E5=A2=9E=E5=8A=A0=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- start/src/main/resources/sdk.yml | 8 ++ web-app/pom.xml | 5 +- .../config/ThreadPoolAsyncConfig.java | 76 +++++++++++++++++++ .../primeport/domain/model/VehicleAuditE.java | 14 ---- 4 files changed, 88 insertions(+), 15 deletions(-) create mode 100644 web-client/src/main/java/com/zcloud/primeport/config/ThreadPoolAsyncConfig.java diff --git a/start/src/main/resources/sdk.yml b/start/src/main/resources/sdk.yml index 29ddb8a..1ee7f65 100644 --- a/start/src/main/resources/sdk.yml +++ b/start/src/main/resources/sdk.yml @@ -63,6 +63,14 @@ openapi: apiCode: test:01 #多个可以逗号隔开,可以为空 tenantIds: 1838408702262321152 +archives: + async: + pool: + maxPoolSize: 2 + corePoolSize: 1 + queueCapacity: 60 + namePrefix: async-task- + keepAliveSeconds: 60 # 大华平台配置 dahua: oauth: diff --git a/web-app/pom.xml b/web-app/pom.xml index 706d4bc..6834fef 100644 --- a/web-app/pom.xml +++ b/web-app/pom.xml @@ -38,6 +38,9 @@ 1.12.23 test - + + com.alibaba.cloud + spring-cloud-starter-stream-rocketmq + diff --git a/web-client/src/main/java/com/zcloud/primeport/config/ThreadPoolAsyncConfig.java b/web-client/src/main/java/com/zcloud/primeport/config/ThreadPoolAsyncConfig.java new file mode 100644 index 0000000..90177da --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/config/ThreadPoolAsyncConfig.java @@ -0,0 +1,76 @@ +package com.zcloud.primeport.config; + +import org.springframework.beans.factory.annotation.Value; +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.ThreadPoolExecutor; + +/** + * @author zhangyue + * @date 2026/2/2 17:24 + */ + +@Configuration +public class ThreadPoolAsyncConfig { + + + public static Integer maxPoolSize; + public static Integer corePoolSize; + public static Integer queueCapacity; + public static String namePrefix; + public static Integer keepAliveSeconds; + + @Value("${archives.async.pool.maxPoolSize}") + public void setMaxPoolSize(Integer maxPoolSizeProperties) { + maxPoolSize = maxPoolSizeProperties; + } + + @Value("${archives.async.pool.corePoolSize}") + public void setCorePoolSize(Integer corePoolSizeProperties) { + corePoolSize = corePoolSizeProperties; + } + + @Value("${archives.async.pool.queueCapacity}") + public void setQueueCapacity(Integer queueCapacityProperties) { + queueCapacity = queueCapacityProperties; + } + + @Value("${archives.async.pool.namePrefix}") + public void setNamePrefix(String namePrefixProperties) { + namePrefix = namePrefixProperties; + } + + @Value("${archives.async.pool.keepAliveSeconds}") + public void setKeepAliveSeconds(Integer keepAliveSecondsProperties) { + keepAliveSeconds = keepAliveSecondsProperties; + } + + @Bean() + public Executor asyncExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //最大线程数 + executor.setMaxPoolSize(maxPoolSize); + //核心线程数 + executor.setCorePoolSize(corePoolSize); + //任务队列的大小 + executor.setQueueCapacity(queueCapacity); + //线程前缀名 + executor.setThreadNamePrefix(namePrefix); + //线程存活时间 + executor.setKeepAliveSeconds(keepAliveSeconds); + /** + * 拒绝处理策略 + * CallerRunsPolicy():交由调用方线程运行,比如 main 线程。 + * AbortPolicy():直接抛出异常。 + * DiscardPolicy():直接丢弃。 + * DiscardOldestPolicy():丢弃队列中最老的任务。 + */ + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy()); + // 初始化 + executor.initialize(); + return executor; + } +} diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/VehicleAuditE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/VehicleAuditE.java index 199d09f..66eb3a7 100644 --- a/web-domain/src/main/java/com/zcloud/primeport/domain/model/VehicleAuditE.java +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/VehicleAuditE.java @@ -46,19 +46,5 @@ public class VehicleAuditE extends BaseE { //变更前信息 private String changeBefore; - public TodoListAddEvent getSendEventObj() { - // 发送待办 - TodoListAddEvent event = new TodoListAddEvent(); - event.setTitle("测试消息"); - event.setContent("测试消息内容"); - event.setForeignKey(this.id); // 业务表ID - event.setForeignSubsidiaryKey(this.id); // 业务附表ID 没有附表时为foreignKey的值 - event.setReceiveUser(getAuditUserId());// user表ID - event.setPcFlag(1); // 是否PC端待办 1是 0否 - event.setAppFlag(1); // 是否APP端待办 1是 0否 - event.setOtherParams(new JSONObject()); - return event; - } - }