多线程处理数据
@Override
public void mysqlToMongo() {
Map map = new HashMap();
map.put("status", 1);
List<TelecomOaoStoreDO> telecomOaoStoreDOList1 = telecomOaoStoreMapper.selectList(map);
LOG.info("查询所有厅店 size:{}", telecomOaoStoreDOList1.size());
List<List<TelecomOaoStoreDO>> list = Lists.partition(telecomOaoStoreDOList1, telecomOaoStoreDOList1.size() / 10);
int count1 = 0;
for (List<TelecomOaoStoreDO> telecomOaoStoreDOList : list) {
LOG.info("111111111 count1:{}", ++count1);
myThreadPoolTaskExecutor.execute(() -> {
int count2 = 0;
for (TelecomOaoStoreDO telecomOaoStoreDO : telecomOaoStoreDOList) {
try {
List<Double> tx = new ArrayList<>();
tx.add(Double.parseDouble(telecomOaoStoreDO.getTxLongitude()));
tx.add(Double.parseDouble(telecomOaoStoreDO.getTxLatitude()));
MongoTelecomOaoStore mongoTelecomOaoStore = new MongoTelecomOaoStore();
BeanUtils.copyProperties(telecomOaoStoreDO, mongoTelecomOaoStore);
mongoTelecomOaoStore.setTxLocation(tx);
storeImportRepository.insert(mongoTelecomOaoStore);
LOG.info("22222222222222 count2 :{}", ++count2);
}catch (Exception e){
LOG.error("e:",e);
}
}
});
}
}