广告
返回顶部
首页 > 资讯 > 精选 >springboot定时任务和异步任务怎么实现
  • 282
分享到

springboot定时任务和异步任务怎么实现

2023-06-27 10:06:10 282人浏览 八月长安
摘要

这篇文章主要介绍“SpringBoot定时任务和异步任务怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot定时任务和异步任务怎么实现”文章能帮助大家解决问题。异步任务简单案例

这篇文章主要介绍“SpringBoot定时任务和异步任务怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot定时任务和异步任务怎么实现”文章能帮助大家解决问题。

异步任务简单案例

在我们开发项目时,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时会造成前台响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。

  1. 新建一个service

  1. 创建AsyncService

@Service    public class AsyncService {           public void hello(){           try {               Thread.sleep(3000);          } catch (InterruptedException e) {               e.printStackTrace();          }           System.out.println("业务进行中~~");      }    }
  1. 创建controller

  1. controller包下创建一个AsyncController

@RestController    public class AsyncController {           @Autowired       AsyncService asyncService;           @GetMapping("/hello")       public String hello(){//调用方法后会延迟3秒在页面显示Success           asyncService.hello();           return "success";      }        }

此时访问Localhost:8080/hello的情况是:延迟3秒后,在页面输出Success,在后台会输出业务进行中~~

新问题:如果想页面直接输出信息“Success”,而让这个hello方法直接在后台用多线程操作,就需要加上@Async注解,这样Spring Boot就会自己开一个线程池进行调用

改进:给AsyncService加上注解

@Async//告诉Spring这是一个异步方法    public void hello(){       try {           Thread.sleep(3000);      } catch (InterruptedException e) {           e.printStackTrace();      }       System.out.println("业务进行中~~");    }

但是要让这个注解起作用,还需要在入口文件中开启异步注解功能

@EnableAsync //开启异步注解功能@SpringBootApplication    public class SpringbootTaskApplication {           public static void main(String[] args) {               SpringApplication.run(SpringbootTaskApplication.class, args);          }    }

此时再次测试,发现页面直接输出了Success,但是后台仍然是3秒后输出业务进行中

定时任务简单案例

工作中常常要设置一些定时任务,比如每天在某个时间分析一遍日志

所以Spring提供了异步执行任务调度的方式,提供了两个接口。

TaskExecutor接口

TaskScheduler接口

两个注解:

• @EnableScheduling

• @Scheduled

创建一个ScheduleService,里面编写一个hello方法,让它定时执行

@ServicepublicclassScheduledService{    //秒分时日月周几    @Scheduled(cron="0 * * * * ?")    //这里需要学习一些cron表达式的语法,明白时间如何设置,这里的意思是每当时间到0秒时就执行一次    publicvoidhello(){        System.out.println("hello/////");    }}

要使用定时功能,还需要在入口文件中加上@EnableScheduling,表明开启定时任务功能

@SpringBootApplication    @EnableScheduling//开启定时任务注解功能    @EnableAsync//开启异步注解功能    publicclassSpringbootTaskApplication{        publicstaticvoidmain(String[]args){    SpringApplication.run(SpringbootTaskApplication.class,args);    }        }

此时测试运行,发现每当时间为0秒时就会在后台打印出 hello////

关于“springboot定时任务和异步任务怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: springboot定时任务和异步任务怎么实现

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

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

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

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

下载Word文档
猜你喜欢
  • springboot定时任务和异步任务怎么实现
    这篇文章主要介绍“springboot定时任务和异步任务怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot定时任务和异步任务怎么实现”文章能帮助大家解决问题。异步任务简单案例...
    99+
    2023-06-27
  • Springboot 异步任务和定时任务的异步处理
    目录1 前言2 异步任务设置3 定时任务配置4 总结1 前言 在 Springboot 中,异步任务和定时任务是经常遇到的处理问题方式,为了能够用好这两项配置,不干扰正常的业务,需要...
    99+
    2022-11-13
  • Springboot异步任务和定时任务如何处理
    本文小编为大家详细介绍“Springboot异步任务和定时任务如何处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot异步任务和定时任务如何处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1...
    99+
    2023-06-30
  • springboot怎么实现异步任务
    这篇“springboot怎么实现异步任务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springboot怎么实现异步任务...
    99+
    2023-06-29
  • SpringBoot定时任务怎么实现
    这篇文章主要讲解了“SpringBoot定时任务怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot定时任务怎么实现”吧!SpringBoot定时任务主要由两个注解完成...
    99+
    2023-06-05
  • SpringBoot 实现异步任务
    异步任务 一、使用背景二、同步任务的优缺点2.1 优点2.2 缺点2.3 总结 三、异步任务的优缺点3.1 优点3.2 缺点3.3 总结 四、Spring Boot 实现异步任务4.0...
    99+
    2023-10-09
    spring boot java spring
  • springboot实现异步任务
    本文实例为大家分享了springboot实现异步任务的具体代码,供大家参考,具体内容如下 1.什么异步任务 同步:一定要等任务执行完了,得到结果,才执行下一个任务。 异步:不等任务执...
    99+
    2022-11-12
  • SpringBoot2如何使用定时任务和异步任务
    这篇文章给大家分享的是有关SpringBoot2如何使用定时任务和异步任务的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、定时任务1、基本概念按照指定时间执行的程序。2、使用场景数据分析数据清理系统服务监控二、...
    99+
    2023-06-02
  • Java中怎么实现SpringBoot定时任务
    今天就跟大家聊聊有关Java中怎么实现SpringBoot定时任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. SpringBoot--任务:定时任务项目开发中经常需要执行一些...
    99+
    2023-06-20
  • SpringBoot定时任务功能怎么实现
    本篇内容介绍了“SpringBoot定时任务功能怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一 背景项目中需要一个可以动态新增定时...
    99+
    2023-06-30
  • golang定时任务中异步回调怎么实现
    在golang中,可以使用goroutine和channel来实现异步回调。 下面是一个示例代码: package main im...
    99+
    2023-10-22
    golang
  • celery异步定时任务怎么实现订单定时回滚
    这篇文章主要介绍“celery异步定时任务怎么实现订单定时回滚”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“celery异步定时任务怎么实现订单定时回滚”文章能帮助大家解决问题。订单回滚用celer...
    99+
    2023-06-30
  • Springboot如何实现定时任务
    这篇文章给大家分享的是有关Springboot如何实现定时任务的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。定时任务此处的定时,标注在方法上+注解,假如想修改生成环境的时间,不是很灵活,后面补充Quartz+bo...
    99+
    2023-06-17
  • Springboot怎么通过Scheduled实现定时任务
    小编给大家分享一下Springboot怎么通过Scheduled实现定时任务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!定时任务一般会存在中大型企业级项目中,为...
    99+
    2023-05-30
    springboot
  • SpringBoot怎么使用Schedule实现定时任务
    本文小编为大家详细介绍“SpringBoot怎么使用Schedule实现定时任务”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么使用Schedule实现定时任务”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-05
  • 详解Springboot中的异步、定时、邮件任务
    目录一、异步任务1、编写一个类AsyncService 2、编写一个AsyncController类3、开启异步二、邮件任务1、引入依赖2、配置mail3、测试三、定时任务1、编写一...
    99+
    2022-11-12
  • springboot定时任务怎么创建
    如果你想了解更多关于springboot的知识,可以点击:JAVA教程使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式:  一、基于注解(@Scheduled)  二、基于接口(SchedulingConfigure...
    99+
    2021-09-19
    java教程 SpringBoot
  • SpringBoot定时任务怎么使用
    在Spring Boot中使用定时任务,可以按照以下步骤进行操作:1. 在pom.xml文件中添加Spring Boot的定时任务依...
    99+
    2023-08-15
    SpringBoot
  • SpringBoot+Quartz实现动态定时任务
    本文实例为大家分享了springBoot+Quartz实现动态定时任务的具体代码,供大家参考,具体内容如下 目前常用的几种任务调度 Timer,简单无门槛,一般也没人用。spring...
    99+
    2022-11-13
  • springboot中swagger、异步/定时/邮件任务的问题
    目录1、SpringBoot:集成Swagger终极版1.1、Swagger简介1.2、SpringBoot集成Swagger1.3、配置Swagger1.4、配置扫描接口1.5、配...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作