From f2d1a4f56405d16e58b0a5526ec437527ad28dbc Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Fri, 17 May 2024 16:28:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=B7=E5=BA=B7=E5=AE=9A=E6=97=B6=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E6=9B=B4=E6=94=B9=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/zhgd/xmgl/call/HikvisionCall.java | 4 ++-- .../com/zhgd/xmgl/config/AsyncConfig.java | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index ad499db69..d67527d58 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -678,12 +678,12 @@ public class HikvisionCall { } } - @Async + @Async("getRecordForHikvisionTask") public void getDoorEventsAsync(HashMap paramMap) { getDoorEvents(paramMap); } - @Async + @Async("getRecordForHikvisionTask") public void getCrossRecordsAsync(HashMap paramMap) { getCrossRecords(paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/config/AsyncConfig.java b/src/main/java/com/zhgd/xmgl/config/AsyncConfig.java index 91d9199ac..c66011348 100644 --- a/src/main/java/com/zhgd/xmgl/config/AsyncConfig.java +++ b/src/main/java/com/zhgd/xmgl/config/AsyncConfig.java @@ -467,5 +467,24 @@ public class AsyncConfig { return executor; } + @Bean("getRecordForHikvisionTask") + public ThreadPoolTaskExecutor getRecordForHikvisionTask() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + /** 核心线程数(默认线程数) */ + executor.setCorePoolSize(160); + /** 最大线程数 */ + executor.setMaxPoolSize(160); + executor.setQueueCapacity(100000); + /** 允许线程空闲时间(单位:默认为秒) */ + executor.setKeepAliveSeconds(60); + /** 线程池名前缀 */ + executor.setThreadNamePrefix("getRecordForHikvisionTask-"); + // 线程池对拒绝任务的处理策略 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + // 初始化 + executor.initialize(); + return executor; + } + }