注意红色字体部分
业务需求:数据可能来自不同的数据源,mysql,oracle,或者远程接口(分为两个实现类:数据和api)
用线程池调用
1.service层核心代码:
@Autowired
//数据和api的实现类,继承AbstractDataHanderService,AbstractDataHanderService为抽象类,
private Map<String,AbstractDataHanderService> handerServiceMap;
private ThreadPoolExecutor threadPool;
//下面初始化线程池
@PostConstruct
private void initThreadPool(){
ThreadFactory threadFactory = new ThreadFactoryBuilder().setNameFormat("engine-%d").setDaemon(true).build();
threadPool = new ThreadPoolExecutor(20,32,50L,T