From 7b31e0376ce3a4e8583d58578b3618ce99f71b62 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Thu, 11 Jan 2024 13:43:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ReplenishMybatisServiceImpl.java | 1 + .../njcn/oracle/service/DataSyncService.java | 3 +++ .../service/impl/DataSyncServiceImpl.java | 26 ++++++++++++++++++- .../oracle/controller/DataSyncController.java | 18 +------------ 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/impl/ReplenishMybatisServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/impl/ReplenishMybatisServiceImpl.java index da98d9e..9cfbcb7 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/impl/ReplenishMybatisServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/impl/ReplenishMybatisServiceImpl.java @@ -44,6 +44,7 @@ public abstract class ReplenishMybatisServiceImpl, } else { this.baseMapper.insertBatchSomeColumn(dataTemp); } + System.gc(); } diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/DataSyncService.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/DataSyncService.java index 0daacce..210b91f 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/DataSyncService.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/DataSyncService.java @@ -1,5 +1,6 @@ package com.njcn.oracle.service; +import com.njcn.oracle.bo.param.DataAsynParam; import com.njcn.oracle.mybatis.service.IReplenishMybatisService; import java.time.LocalDate; @@ -13,4 +14,6 @@ import java.time.LocalDate; */ public interface DataSyncService { void dataSync(IReplenishMybatisService executor, String temp, LocalDate migration); + + void dataBacthSysc(DataAsynParam dataAsynParam); } diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataSyncServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataSyncServiceImpl.java index 5eb6d3e..013c198 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataSyncServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataSyncServiceImpl.java @@ -3,11 +3,14 @@ package com.njcn.oracle.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.extra.spring.SpringUtil; +import com.njcn.oracle.bo.param.DataAsynParam; import com.njcn.oracle.bo.param.MigrationParam; import com.njcn.oracle.bo.po.JobDetail; import com.njcn.oracle.mybatis.service.IReplenishMybatisService; import com.njcn.oracle.service.DataSyncService; import com.njcn.oracle.service.JobDetailService; +import com.njcn.oracle.util.LocalDateUtil; import lombok.RequiredArgsConstructor; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -31,7 +34,6 @@ public class DataSyncServiceImpl implements DataSyncService { private final JobDetailService jobDetailService; @Override - @Async public void dataSync(IReplenishMybatisService executor, String temp, LocalDate date) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); @@ -85,4 +87,26 @@ public class DataSyncServiceImpl implements DataSyncService { } } + + @Override + @Async + public void dataBacthSysc(DataAsynParam dataAsynParam) { + List tableNames = dataAsynParam.getTableNames(); + + tableNames.stream().forEach(temp->{ + IReplenishMybatisService executor = null; + try { + executor = (IReplenishMybatisService) SpringUtil.getBean(Class.forName("com.njcn.oracle.service.impl." + temp + "ServiceImpl")); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + List dateList = LocalDateUtil.getDateList(dataAsynParam.getStartTime(), dataAsynParam.getEndTime()); + IReplenishMybatisService finalExecutor = executor; + dateList.forEach(date->{ + + this.dataSync(finalExecutor,temp,date); + }); + + }); + } } diff --git a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/DataSyncController.java b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/DataSyncController.java index ab0bdea..cb76e8b 100644 --- a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/DataSyncController.java +++ b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/DataSyncController.java @@ -53,26 +53,10 @@ public class DataSyncController { @ApiImplicitParam(name = "dataAsynParam", value = "数据同步参数", required = true) public Boolean dataSync(@RequestBody DataAsynParam dataAsynParam){ - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - List tableNames = dataAsynParam.getTableNames(); - - tableNames.stream().forEach(temp->{ - IReplenishMybatisService executor = null; - try { - executor = (IReplenishMybatisService) SpringUtil.getBean(Class.forName("com.njcn.oracle.service.impl." + temp + "ServiceImpl")); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } - List dateList = LocalDateUtil.getDateList(dataAsynParam.getStartTime(), dataAsynParam.getEndTime()); - IReplenishMybatisService finalExecutor = executor; - dateList.forEach(date->{ - - dataSyncService.dataSync(finalExecutor,temp,date); - }); + dataSyncService.dataBacthSysc(dataAsynParam); - }); return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步"); }