import com.google.common.util.concurrent.ThreadFactoryBuilder;
AtomicInteger count = new AtomicInteger(0);
public BusinessMessage bankCardInformationSync() {
BusinessMessage message = new BusinessMessage();
log.info("会员银行卡信息同步至厦门账户表任务执行开始!");
try {
LambdaQueryWrapper<PvLoginUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PvLoginUser::getState, 1);
wrapper.isNotNull(PvLoginUser::getBankNumber);
wrapper.eq(PvLoginUser::getStatus, 3);
List<PvLoginUser> pvLoginUsers = pvLoginUserMapper.selectList(wrapper);
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("xczx-syncUser-%d").build();
ExecutorService threadPool = new ThreadPoolExecutor(100, 500, 10L, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future<?> submit = threadPool.submit(new Runnable() {
@Override
public void run() {
for (PvLoginUser user : pvLoginUsers) {
syncPvLoginUser(user);
count.addAndGet(1);
}
}
});
submit.get();
log.info("会员银行卡信息同步至厦门账户表任务执行完成,共执行{}条数据", count);
message.setCode(Status.successCode);
message.setMessage(Status.success);
message.setSuccess(true);
} catch (Exception e) {
log.error("会员银行卡信息同步至厦门账户表任务执行失败,原因:{}", e.getMessage());
message.setCode(Status.failCode);
message.setMessage("厦门国际绑卡失败,原因:" + e.getMessage());
message.setSuccess(false);
}
return message;
线程池创建使用
于 2024-04-17 16:29:29 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)