将入库改成多线程添加日志
This commit is contained in:
@@ -12,16 +12,14 @@ import com.njcn.device.pq.api.DeviceFeignClient;
|
|||||||
import com.njcn.device.pq.api.LineFeignClient;
|
import com.njcn.device.pq.api.LineFeignClient;
|
||||||
import com.njcn.device.pq.pojo.dto.DevComFlagDTO;
|
import com.njcn.device.pq.pojo.dto.DevComFlagDTO;
|
||||||
import com.njcn.device.pq.pojo.vo.LineDeviceStateVO;
|
import com.njcn.device.pq.pojo.vo.LineDeviceStateVO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -34,6 +32,7 @@ import java.util.stream.Collectors;
|
|||||||
* @version V1.0.0
|
* @version V1.0.0
|
||||||
*/
|
*/
|
||||||
@Service("RelationLnDataDealServiceImpl")
|
@Service("RelationLnDataDealServiceImpl")
|
||||||
|
@Slf4j
|
||||||
public class LnDataDealServiceImpl implements LnDataDealService {
|
public class LnDataDealServiceImpl implements LnDataDealService {
|
||||||
@QueryBean
|
@QueryBean
|
||||||
private IDataFlicker dataFlickerQuery;
|
private IDataFlicker dataFlickerQuery;
|
||||||
@@ -74,6 +73,8 @@ public class LnDataDealServiceImpl implements LnDataDealService {
|
|||||||
private Executor executor;
|
private Executor executor;
|
||||||
@Override
|
@Override
|
||||||
public void batchInsertion(LnDataDTO lnDataDTO) {
|
public void batchInsertion(LnDataDTO lnDataDTO) {
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
|
|
||||||
List<CompletableFuture<Void>> futures = new ArrayList<>();
|
List<CompletableFuture<Void>> futures = new ArrayList<>();
|
||||||
// 提交每个批量插入任务
|
// 提交每个批量插入任务
|
||||||
@@ -94,6 +95,9 @@ public class LnDataDealServiceImpl implements LnDataDealService {
|
|||||||
// 等待所有任务完成,如果任一任务抛出异常,这里会重新抛出
|
// 等待所有任务完成,如果任一任务抛出异常,这里会重新抛出
|
||||||
CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join();
|
CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join();
|
||||||
|
|
||||||
|
long end = System.currentTimeMillis();
|
||||||
|
log.info("入库方法执行耗时:" + (end - start) + " ms");
|
||||||
|
|
||||||
// 关闭线程池(优雅关闭,等待已提交任务完成)
|
// 关闭线程池(优雅关闭,等待已提交任务完成)
|
||||||
|
|
||||||
// dataVService.batchInsertion(lnDataDTO.getDataVList());
|
// dataVService.batchInsertion(lnDataDTO.getDataVList());
|
||||||
@@ -132,6 +136,8 @@ public class LnDataDealServiceImpl implements LnDataDealService {
|
|||||||
iPqsCommunicate.insertion(pqsCommunicateDto);
|
iPqsCommunicate.insertion(pqsCommunicateDto);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
long end2 = System.currentTimeMillis();
|
||||||
|
log.info("更新device表:" + (end2 - end) + " ms");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user