一、这篇队列实现异步的思想是初始化一个类,让这个类启动一个线程池,不断获取队列里面数据,根据不同数据的情况,可以选择不同线程池。 这篇主要采用 CommandLineRunner 让类启动对队列的消费,对队列类进行初始化。用CommandLineRunner 在项目启动时候,调用run方法。将 类启动对队列的消费也能完成。
(1)启动类的实现CommandLineRunner ,通过init来实现对继承init接口的类进行统一管理。
@SpringBootApplication
public class DatabaseProjectApplication implements CommandLineRunner {
@Autowired
private List<Init> inits;
public static void main(String[] args) {
SpringApplication.run(DatabaseProjectApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
if (Objects.isNull(inits)) {
return;
}
for (Init init : inits) {
init.init();
}
}
}
(2) 写一个init接口,通过这个接口来实现对项目启动,和关闭的统一管理。
public interface Init {
void init();
void shutdown();
void exeact();
}