`
zysnba
  • 浏览: 185762 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

springboot 异步调用

 
阅读更多
1,定义异步config

package com.text.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.AsyncConfigurer;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.ThreadPoolExecutor;

/**
* @author zys on 2022-03-26
*/
@Configuration
@EnableAsync
public class AsyncConfig implements AsyncConfigurer {

    /** 核心线程数(默认线程数) */
    private static final int corePoolSize = 10;
    /** 最大线程数 */
    private static final int maxPoolSize = 20;
    /** 允许线程空闲时间(单位:默认为秒) */
    private static final int keepAliveTime = 10;
    /** 缓冲队列大小 */
    private static final int queueCapacity = 50;
    /** 线程池名前缀 */
    private static final String threadNamePrefix = "Async-Statistics-";

    @Bean("taskExecutor")
    public ThreadPoolTaskExecutor taskExecutor(){
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(corePoolSize);
        executor.setMaxPoolSize(maxPoolSize);
        executor.setQueueCapacity(queueCapacity);
        executor.setKeepAliveSeconds(keepAliveTime);
        executor.setThreadNamePrefix(threadNamePrefix);
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        executor.initialize();
        return executor;
    }


}

2,在实现方法上加上
@Async(value = "taskExecutor")  即可。
分享到:
评论

相关推荐

    springboot 异步调用的实现方法

    Spring Boot 异步调用的实现方法 Spring Boot 框架提供了多种方式来实现异步调用,异步调用是指在程序执行时无需等待执行的返回值可继续执行后面的代码,提高了执行效率。下面将详细介绍 Spring Boot异步调用的实现...

    SpringBoot异步调用方法并接收返回值

    SpringBoot 异步调用方法并接收返回值 在 SpringBoot 项目中,异步调用方法并接收返回值是一种常见的需求。特别是在需要执行多个耗时任务的情况下,异步调用可以极大地提高系统的性能和响应速度。本文将详细介绍 ...

    SpringBoot异步调用方法实现场景代码实例

    SpringBoot异步调用方法实现场景代码实例 在项目开发中,异步调用方法的实现场景非常常见,特别是在计算密集型或IO密集型的操作中。异步调用可以大大提高系统的性能和响应速度。下面我们将详细介绍SpringBoot异步...

    Springboot启用async异步调用

    在Spring Boot中,启用`async`异步调用是一项关键功能,它允许应用程序在处理请求时启动一个后台任务,而不必等待该任务完成。这在处理耗时操作时尤其有用,如大数据计算、发送电子邮件或文件上传等。下面将详细阐述...

    SpringBoot开启异步调用方法

    SpringBoot 异步调用方法详解 SpringBoot 框架提供了多种方式来实现异步调用,异步调用可以提高系统的性能和响应速度。在本文中,我们将详细介绍如何使用 SpringBoot 实现异步调用,并分析异步调用的优缺点和实现...

    SpringBoot项目异步调用

    在Spring Boot项目中,异步调用是一种提升应用性能的关键技术。它允许应用程序在执行一个耗时操作(如数据库查询、文件处理等)时,不阻塞主线程,从而提高系统的响应速度和并发能力。Spring Boot提供了简单易用的...

    SpringBoot异步

    Spring Boot集成Spring Framework中的异步处理功能,使得我们可以将耗时的操作如数据库查询、远程调用等从主线程中分离出来,避免阻塞主线程,提高系统的并发能力。下面将详细介绍Spring Boot异步处理的相关知识点。...

    新手也能看懂的SpringBoot异步编程指南(简单易懂)

    SpringBoot异步编程指南 本文主要介绍了SpringBoot异步编程的知识点,涵盖了Future模式的核心思想、ThreadPoolTaskExecutor的使用、SpringBoot异步编程实战等内容。 1. Future 模式: Future模式是一种异步调用...

    SpringBoot实现定时任务和异步调用

    SpringBoot实现定时任务和异步调用 SpringBoot框架提供了强大的功能来实现定时任务和异步调用,这在业务场景中非常常见。例如,在电商平台中,需要定时发送邮件、短信、统计监控数据等操作,而在订单流程中,需要...

    SpringBoot 服务调用异常重试补偿处理

    1. 启动Demo01和Demo02项目 2. 请求 地址:127.0.0.1:8080/demo01/send/post 报文:{"sleepNum":5} 3. 测试目的 demo02 超时 demo02 无法访问 重试机制 超时、无法访问执行补偿操作 -------------------------...

    SpringBoot异步任务使用方法详解

    SpringBoot异步任务使用方法详解 SpringBoot异步任务使用方法详解是基于Java的SpringBoot框架中的一种异步任务处理机制。该机制允许开发者在SpringBoot应用程序中执行异步任务,以提高应用程序的性能和响应速度。 ...

    详解SpringBoot中异步请求和异步调用(看完这一篇就够了)

    Spring Boot异步请求和异步调用详解 Spring Boot中的异步请求和异步调用是指在服务器端处理客户端请求时,可以使用异步方式来提高服务器对客户端请求的吞吐量。异步请求可以先释放容器分配给请求的线程和相关资源,...

    spring boot中使用@Async实现异步调用任务

    在Spring Boot中,异步调用是通过Spring的`@Async`注解来实现的,它允许我们在不阻塞主线程的情况下执行耗时的操作。这极大地提高了应用的响应速度,尤其是在处理大量并发请求时。接下来,我们将深入探讨如何在...

    基于Springboot的Forest调用第三方API Demo

    Forest不仅支持同步调用,还支持异步非阻塞调用,同时提供了强大的参数映射和响应处理功能。在Spring Boot项目中,我们可以利用Forest的注解驱动特性,将API调用与我们的业务代码紧密集成。 **Okhttp** Okhttp是由...

    SpringBoot异步方法捕捉异常详解

    例如,创建一个名为`SpringAsyncExceptionHandler`的内部类,重写`handleUncaughtException`方法,该方法会在异步方法抛出未捕获异常时被调用,从而实现异常的捕获和处理。 ```java @Configuration @Slf4j public ...

    基于springboot的两个项目之间的远程调用

    - **RabbitMQ**:Spring Boot可以通过集成RabbitMQ实现消息队列的远程调用,适用于异步处理和解耦。 - **RESTful API**:基于HTTP协议,Spring Boot提供Spring MVC和WebFlux来创建RESTful服务,简单易用且跨平台。...

    springboot 同步解耦 异步化

    在压缩包文件`showandshare.demo.syncevnet`中,可能包含了具体的示例代码或者教程,这些资源可以帮助你更深入地理解如何在SpringBoot项目中实践同步解耦和异步化。通过学习和实践这些示例,你可以掌握如何在实际...

    Springboot中异步

    个人看法:我们不使用springboot异步,也可以实现异步,但这时我们自己要建立一个全局的线程池,在调用方法时,还要使用新线程包装一下。这样最终效果虽一样,但过程要麻烦些,后面维护也麻烦些。所以推荐使用...

    springboot中@Async异步调用注解的使用

    - 异步方法中的任何未捕获异常都会被记录到日志中,并且默认不会抛给调用者。若需处理这些异常,可以定义一个全局的`AsyncUncaughtExceptionHandler`。 5. **回调和通知** - Spring提供了`AsyncConfigurer`接口,...

    【java框架】SpringBoot(4)--SpringBoot实现异步、邮件、定时任务(csdn)————程序.pdf

    【SpringBoot实现异步】 SpringBoot提供了一种简单的方式来实现应用中的异步处理,通过`@EnableAsync`注解在主配置类上启用异步功能。这样,你可以使用`@Async`注解来标记那些需要异步执行的方法,从而提高应用的...

Global site tag (gtag.js) - Google Analytics