首页 > 其他分享 >Spring Boot中@Async的作用

Spring Boot中@Async的作用

时间:2023-01-04 16:56:31浏览次数:32  
标签:Spring Boot springframework public org import threadPoolTaskExecutor annotation 

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.task.TaskExecutor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.Future;

@Configuration
@EnableAsync
public class SpringAsyncConfig {

    @Bean("taskExecutor")
    public TaskExecutor taskExecutor(){
        ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
        threadPoolTaskExecutor.setThreadNamePrefix("taskExecutor");
        threadPoolTaskExecutor.setCorePoolSize(10);
        threadPoolTaskExecutor.setMaxPoolSize(30);
        threadPoolTaskExecutor.setQueueCapacity(100);
        threadPoolTaskExecutor.afterPropertiesSet();
        return threadPoolTaskExecutor;
    }

    @Async  //标注使用
    public void asyncMethodWithVoidReturnType() {
        System.out.println("Execute method asynchronously. "
                + Thread.currentThread().getName());
    }


    @Async
    public Future<String> asyncMethodWithReturnType() {
        System.out.println("Execute method asynchronously - "
                + Thread.currentThread().getName());
        try {
            Thread.sleep(5000);
            return new AsyncResult<String>("hello world !!!!");
        } catch (InterruptedException e) {
            //
        }

        return null;
    }

    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringAsyncConfig.class);

        SpringAsyncConfig bean = (SpringAsyncConfig) context.getBean("springAsyncConfig");

        bean.asyncMethodWithReturnType();
    }

}

 

标签:Spring,Boot,springframework,public,org,import,threadPoolTaskExecutor,annotation,
From: https://www.cnblogs.com/fan119735966/p/17025355.html

相关文章

  • Spring注解运行时抛出null
    关于Spring的注解其实不难,大致需要以下几个流程:一、配置Spring的注解支持1<?xmlversion="1.0"encoding="UTF-8"?>2<beansxmlns="http://www.springframework.o......
  • springboot 连接 mqtt,操作数据库时mqtt断开连接
    主要原因,程序异常导致连接断开第一种,普通类注入bean,为空。学过spring应该知道,这必然为空https://blog.csdn.net/qq_41249513/article/details/108465477https://blog.c......
  • Spring Boot整合Web项目常用功能详解
    这篇文章主要介绍了SpringBoot整合Web项目常用功能详解,在Web应用开发过程中,可以通过SpringBoot的Starter来将这些常用功能进行整合与集中维护,以达到开箱即用的目的。,需......
  • Spring Boot内置的一些工具类
    1、断言Assert工具类//要求参数object必须为非空(NotNull),否则抛出异常,不予放行//参数message参数用于定制异常信息。voidnotNull(Objectobject,Stringmessage......
  • Spring MVC无法获取ajax POST的参数和值
    一、怎么会这个样子很简单的一个想法,ajax以POST的方式提交一个表单,SpringMVC解析。然而一次次的打印null折磨了我整整一天……最后的解决现在看来是很明显的问题,“只是......
  • SpringBoot配置文件中spring
    SpringBoot配置文件中spring.profiles.active配置详解现象:在开发的时候测试和生产配置不一样每次加配置都需要更新生产原因:不方便解决:添加多套配置知识库:1、多环......
  • spring5框架
    概述:Spring是轻量级的开源的JavaEE框架Spring可以解决企业应用开发的复杂性Spring有两个核心部分:IOC和AOPIOC:控制反转,把创建对象过程交给Spring进行管理AOP:面向切面......
  • springboot 整合activiti
    importlombok.Data;importnet.sf.json.JSONObject;importjava.io.Serializable;importjava.util.Date;/***流程日志扩展类*@authorhxy*@emailhuangx......
  • STS(Spring Tool Suite)使用小技巧记录
    偶尔有些jar包无论如何都无法用maven下载,(例如我正在用的kaptcha)只好自己手动下载了以后再添加。这个时候记得修改以下地方。自动的VMware服务器无法启动,报错如下图解决办法,......
  • STS(Spring Tool Suite)使用前准备
    好了,卖了两个月冰激凌,现在又回来做程序员了。发现好多东西已经忘了。所以拿csdn当个记事本,方便我也方便其他和我有同样问题的人。现在打算用springmvc来做些东西,工具就用st......