参考文章,大谢
http://rensanning.iteye.com/blog/2360749
1、创建SpringAsyncConfig类
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.task.AsyncTaskExecutor;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@Configuration
@EnableAsync
public class SpringAsyncConfig {
@Bean
public AsyncTaskExecutor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setMaxPoolSize(20);// 最大线程数
executor.setCorePoolSize(20);// 核心线程数
executor.setQueueCapacity(10000);// 最大队列数
executor.setKeepAliveSeconds(60);// 空闲时间
return executor;
}
}
2、在需要异步处理的方法上加入注解@Async
// 声明异步任务
@Async
public void saveLog() {
// do something
}