devtools idea热部署
pom依赖
<!--devtools 热部署依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
application.yml
spring:
#热部署
devtools:
restart:
enabled: false
(1)文件—>设置—>编译器—>自动构建项目
(2)ctrl + shift + alt + /,选择1 注册表,勾上 Compiler autoMake allow when app running
springboot开启异步处理和线程池
// 启用 Spring 的异步方法执行功能,
// 需要在 Application中加入@EnableAsync //开启异步处理
// 需要在方法上加入 @Async("asyncExecutor") 将方法放入线程池
@EnableAsync
@Configuration
public class ExecutorConfig {
//核心线程数量,默认1
private int corePoolSize = 3;
//最大线程数量,默认Integer.MAX_VALUE;
private int maxPoolSize = 5;
//空闲线程存活时间
private int keepAliveSeconds = 60;
//线程阻塞队列容量,默认Integer.MAX_VALUE
private int queueCapacity = 1;
//是否允许核心线程超时
private boolean allowCoreThreadTimeOut = false;
@Bean("asyncExecutor")
public Executor asyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 配置核心线程数量
executor.setCorePoolSize(corePoolSize);
// 配置最大线程数
executor.setMaxPoolSize(maxPoolSize);
// 配置队列容量
executor.setQueueCapacity(queueCapacity);
// 配置空闲线程存活时间
executor.setKeepAliveSeconds(keepAliveSeconds);
executor.setAllowCoreThreadTimeOut(allowCoreThreadTimeOut);
// 设置拒绝策略,直接在execute方法的调用线程中运行被拒绝的任务
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
// 执行初始化
executor.initialize();
return executor;
}
}