From 0bd2941bdae2a4f83258f286f3a3e5b0b49823fc Mon Sep 17 00:00:00 2001 From: zhaoqiaobo Date: Thu, 14 Mar 2024 14:29:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(all):=20=E4=BC=98=E5=8C=96=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=B1=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 优化现有线程池 --- .../ReportBillLoadingController.java | 6 +-- .../controller/ReportDeliveryController.java | 6 +-- .../controller/ReportStockController.java | 2 +- .../logpm/report/util/ReportExcelUtil.java | 5 +-- .../com/logpm/report/util/ThreadPoolUtil.java | 40 +++++++++++++++++++ 5 files changed, 45 insertions(+), 14 deletions(-) create mode 100644 blade-service/logpm-report/src/main/java/com/logpm/report/util/ThreadPoolUtil.java diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java index 5b5126ec4..25d313cb8 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportBillLoadingController.java @@ -55,11 +55,7 @@ public class ReportBillLoadingController { @ApiOperationSupport(order = 4) @ApiOperation(value = "导出自提明细报表", notes = "导出自提明细报表") public void exportDetails(HttpServletResponse response, BillLoadingDetailsVO vo, BillDetailsQuery query) { - try { - reportBillLoadingAsyncService.exportDetails(response, vo, query); - } catch (Exception e) { - e.printStackTrace(); - } + reportBillLoadingAsyncService.exportDetails(response, vo, query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java index 78610e595..d66a8d1ad 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java @@ -93,11 +93,7 @@ public class ReportDeliveryController extends BladeController { @ApiOperationSupport(order = 6) @ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表") public void exportDetails(HttpServletResponse response, ReportDetailVO vo, DevilerDetailsQuery query) { - try { - reportDeliverService.exportDetails(response, vo, query); - } catch (Exception e) { - e.printStackTrace(); - } + reportDeliverService.exportDetails(response, vo, query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java index b13534f76..e7d4fd1fc 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportStockController.java @@ -60,7 +60,7 @@ public class ReportStockController extends BladeController { @GetMapping("/exportDetails") @ApiOperationSupport(order = 2) - @ApiOperation(value = "导出配送明细报表", notes = "导出配送明细报表") + @ApiOperation(value = "导出库存品表", notes = "导出库存品表") public void exportDetails(HttpServletResponse response, StockDetailsVO vo, StockDetailsQuery query) { stockService.exportDetails(response, vo, query); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/util/ReportExcelUtil.java b/blade-service/logpm-report/src/main/java/com/logpm/report/util/ReportExcelUtil.java index 62653677a..3e43be101 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/util/ReportExcelUtil.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/util/ReportExcelUtil.java @@ -19,7 +19,6 @@ import java.util.List; import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; /** * excel导出工具类 @@ -93,8 +92,8 @@ public class ReportExcelUtil { int findNum = (int) Math.ceil((count / pageSize.doubleValue())); // 封装查询后需要导出的数据 Map> pageMap = new HashMap<>(); - // 定义线程池,每个大表导出使用一个线程池 - ExecutorService executorService = Executors.newFixedThreadPool(findNum); + // 定义线程池,大表导出使用一个线程池 + ExecutorService executorService = ThreadPoolUtil.getThreadPool(); // 控制线程全部查询完后执行导出操作 CountDownLatch countDownLatch = new CountDownLatch(findNum); ExcelWriter excelWriter = null; diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/util/ThreadPoolUtil.java b/blade-service/logpm-report/src/main/java/com/logpm/report/util/ThreadPoolUtil.java new file mode 100644 index 000000000..3839a59dc --- /dev/null +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/util/ThreadPoolUtil.java @@ -0,0 +1,40 @@ +package com.logpm.report.util; + +import cn.hutool.core.thread.ExecutorBuilder; +import cn.hutool.core.thread.ThreadFactoryBuilder; +import lombok.extern.slf4j.Slf4j; + +import java.util.concurrent.ExecutorService; + +/** + * @author zhaoqiaobo + * @create 2024-03-14 10:26 + */ +@Slf4j +public class ThreadPoolUtil { + + private ThreadPoolUtil() { + } + + //构建线程池 + public static ExecutorService executor = null; + static { + init(); + } + + synchronized public static void init() { + if (null != executor) { + executor.shutdownNow(); + } + executor = ExecutorBuilder.create() + .setCorePoolSize(8) + .setMaxPoolSize(20) + .setThreadFactory(ThreadFactoryBuilder.create().setNamePrefix("logpm-report-").build()) + .useSynchronousQueue().build(); + } + + public static ExecutorService getThreadPool(){ + return executor; + } + +}