广告
返回顶部
首页 > 资讯 > 精选 >Springboot异步任务和定时任务如何处理
  • 535
分享到

Springboot异步任务和定时任务如何处理

2023-06-30 12:06:00 535人浏览 薄情痞子
摘要

本文小编为大家详细介绍“SpringBoot异步任务和定时任务如何处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot异步任务和定时任务如何处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1

本文小编为大家详细介绍“SpringBoot异步任务和定时任务如何处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot异步任务和定时任务如何处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1 前言

Springboot 中,异步任务和定时任务是经常遇到的处理问题方式,为了能够用好这两项配置,不干扰正常的业务,需要对其进行异步化配置。怎么设置合理的异步处理线程就是其核心和关键。

2 异步任务设置

项目中使用异步任务是经常遇到的解决问题方式,通常是为减少请求的等待时间,将业务处理进行异步后台处理,可以改善用户的体验,增加系统的吞吐量。

在 springboot 中开启异步任务,也是十分的简单,只需要两步操作:

  • 1 开启 @EnableAsync 注解。

  • 2 在需要异步处理的方法上添加 @Async

需要说明的是异步执行的方法可以有返回值,但是必须是 Future,这里和多线程 submit 的方式提交任务,获取处理结果的方式。

到此为止,异步任务的配置和使用就结束了。异步任务使用的也是多线程线程池技术,默认情况下采用的是 SimpleAsyncTaskExecutor 来实现,但是自己的命运怎么能交到他人手上呢,总觉得不太踏实,异步任务怎么才能使用自定义的线程池去实现呢,这是一个好问题,答案也是有的,那就是 AsyncConfigurer。这是一个接口,需要实现 getAsyncExecutor 方法来获取一个线程池,如果需要异常信息的抓取,则在实现一个方法 getAsyncUncaughtExceptionHandler 即可。

具体的代码如下所示:

Springboot异步任务和定时任务如何处理

异步任务执行结果如下,可以说明异步任务的线程池配置已经生效:

Springboot异步任务和定时任务如何处理

3 定时任务配置

定时任务在项目开发中可以说是很常用的配置,作为业务功能的补偿而存在,有这举足轻重的地位,对于定时任务的使用,可以分为固定时间和 crontab 表达式,在实现的工具上,有 spring 自带的 @Schedule,在单体项目中应用广泛,不需要借助其它的平台和额外的配置,对于简单的任务来说已经足够,但是对于分布式系统来说,就有点儿力不从心了,这时就诞生了 quartz、 elastic-job 和 xxl-job 等,其中 xxl-job 尤为出色。在这里,只介绍一下 @Schedule 的使用:

  • 1 全局开启 @EnableScheduling 注解。

  • 2 在需要执行的任务上添加 @Schedule 注解,并指定执行方法,是固定执行还是采用 cron 表达式。

在实际的项目开发中,crontab 表达式应用还是很广泛的:

Springboot异步任务和定时任务如何处理

和异步任务执行一样,定时任务的执行也是有自己的异步任务线程池,这里需要实现的接口为 SchedulinGConfigurer ,实现其 configureTasks 方法即可:

Springboot异步任务和定时任务如何处理

在一切配置文件做好后,运行后可以看出定时任务的线程池配置已经生效:

Springboot异步任务和定时任务如何处理

读到这里,这篇“Springboot异步任务和定时任务如何处理”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: Springboot异步任务和定时任务如何处理

本文链接: https://www.lsjlt.com/news/328665.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Springboot异步任务和定时任务如何处理
    本文小编为大家详细介绍“Springboot异步任务和定时任务如何处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot异步任务和定时任务如何处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1...
    99+
    2023-06-30
  • Springboot 异步任务和定时任务的异步处理
    目录1 前言2 异步任务设置3 定时任务配置4 总结1 前言 在 Springboot 中,异步任务和定时任务是经常遇到的处理问题方式,为了能够用好这两项配置,不干扰正常的业务,需要...
    99+
    2022-11-13
  • springboot定时任务和异步任务怎么实现
    这篇文章主要介绍“springboot定时任务和异步任务怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot定时任务和异步任务怎么实现”文章能帮助大家解决问题。异步任务简单案例...
    99+
    2023-06-27
  • SpringBoot2如何使用定时任务和异步任务
    这篇文章给大家分享的是有关SpringBoot2如何使用定时任务和异步任务的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、定时任务1、基本概念按照指定时间执行的程序。2、使用场景数据分析数据清理系统服务监控二、...
    99+
    2023-06-02
  • 详解Springboot中的异步、定时、邮件任务
    目录一、异步任务1、编写一个类AsyncService 2、编写一个AsyncController类3、开启异步二、邮件任务1、引入依赖2、配置mail3、测试三、定时任务1、编写一...
    99+
    2022-11-12
  • SpringBoot中如何整合定时任务和邮件任务
    这篇文章主要讲解了“SpringBoot中如何整合定时任务和邮件任务”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot中如何整合定时任务和邮件任务”吧!定时任务项目开发中经常...
    99+
    2023-06-08
  • SpringBoot中如何定时任务
    SpringBoot中如何定时任务,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这篇文章将介绍怎么通过spring去做调度任务。构建工程创建一个Springbo...
    99+
    2023-06-19
  • springboot中swagger、异步/定时/邮件任务的问题
    目录1、SpringBoot:集成Swagger终极版1.1、Swagger简介1.2、SpringBoot集成Swagger1.3、配置Swagger1.4、配置扫描接口1.5、配...
    99+
    2022-11-12
  • Springboot如何实现定时任务
    这篇文章给大家分享的是有关Springboot如何实现定时任务的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。定时任务此处的定时,标注在方法上+注解,假如想修改生成环境的时间,不是很灵活,后面补充Quartz+bo...
    99+
    2023-06-17
  • SpringBoot如何创建定时任务
    这篇文章主要介绍SpringBoot如何创建定时任务,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、静态定时任务(基于注解)基于注解来创建定时任务非常简单,只需几行代码便可完成。@Scheduled 除了支持灵活的...
    99+
    2023-05-30
    spring boot
  • Springboot中异步、定时、邮件任务的示例分析
    这篇文章主要介绍Springboot中异步、定时、邮件任务的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、异步任务1、编写一个类AsyncService异步处理还是非常常用的,比如我们在网站上发送邮件,后...
    99+
    2023-06-25
  • celery异步定时任务订单定时回滚
    目录订单回滚控制执行(多少时间后执行)celery异步定时任务订单回滚 用celery异步,定时任务。可以设置:如果下单15分钟后没有支付,则取消订单。做反向操作 控制执行(多少时间...
    99+
    2022-11-10
  • Java SpringBoot @Async如何实现异步任务
    本篇内容介绍了“Java SpringBoot @Async如何实现异步任务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2023-07-04
  • SpringBoot动态定时任务如何实现
    这篇文章主要介绍了SpringBoot动态定时任务如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot动态定时任务如何实现文章都会有所收获,下面我们一起来看看吧。 执行定时任务的...
    99+
    2023-07-05
  • SpringBoot如何设置动态定时任务
    这篇文章主要介绍了SpringBoot如何设置动态定时任务的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot如何设置动态定时任务文章都会有所收获,下面我们一起来看看吧。之前写过文章记录怎么在Sp...
    99+
    2023-07-02
  • php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理
    定时任务对于php来说一直都是很多朋友的一个难题,但却很多地方都遇到了。 比如说: 游戏开发程序中,每隔10分钟给玩家发兵一次 sns社区中每隔20秒检测一下是否有人给我发消息 自动采集程序,每隔5分钟采集一次最新内容 微博数据同步,每隔1...
    99+
    2023-09-04
    php 服务器 开发语言
  • PHP中如何进行任务调度和定时任务?
    在Web开发中,很多网站和应用需要定期执行一些任务,比如清理垃圾数据、发送邮件等。为了自动化这些任务,开发人员需要实现任务调度和定时任务的功能。本文将介绍PHP中如何实现任务调度和定时任务,以及一些常用的第三方库和工具。一、任务调度任务调度...
    99+
    2023-05-14
    PHP 定时任务 任务调度
  • SpringBoot定时任务实现数据同步的方法
    本文实例为大家分享了SpringBoot定时任务实现数据同步的具体代码,供大家参考,具体内容如下 前言 业务的需求是,通过中台调用api接口获得,设备数据,要求现实设备数据的同步。 ...
    99+
    2022-11-13
    SpringBoot 定时任务 数据同步
  • 如何解决Go语言中的并发任务的任务失败重试和异步任务处理问题?
    如何解决Go语言中的并发任务的任务失败重试和异步任务处理问题?在Go语言中,并发是一种非常常见的处理方式,可以提高程序的性能和响应速度。然而,并发任务在执行过程中可能会遇到一些错误和异常情况,这就需要处理任务失败重试和异步任务。本文将分享一...
    99+
    2023-10-22
    并发任务 (Concurrent Tasks) 任务失败重试 (Task retry) 异步任务处理 (Asynchro
  • Java定时任务schedule和scheduleAtFixedRate的异同
    一、使用 相同点 任务执行未超时,则下次执行时间 = 上次执行开始时间 + period任务执行超时,则下次执行时间 = 上次执行结束时间 不同点 schedule在错过以后会按照自...
    99+
    2023-05-20
    Java schedule scheduleAtFixedRate
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作