springboot中的任务处理(springboot任务调度)

  本篇文章为你整理了springboot中的任务处理(springboot任务调度)的详细内容,包含有springboot任务队列 springboot任务调度 spring 任务 springboot 任务调度中心 springboot中的任务处理,希望能帮助你了解 springboot中的任务处理。

  在开发中有时用户提交的数据,后台需要一定时间才能做出响应,此时用户在前台也不能在等待中,此时就应该先开启异步请求处理,利用多线程,先给前台反馈,后台另一线程去处理数据。

  1.创建异步处理请求

  

package com.springboot.assigment.service;

 

  import org.springframework.scheduling.annotation.Async;

  import org.springframework.stereotype.Service;

   * @author panglili

   * @create 2022-07-12-8:19

  //异步请求注解,表示此类开启异步请求

  @Async

  @Service

  public class AsyncService {

   public void Asycn(){

   try {

   Thread.sleep(3000);

   } catch (InterruptedException e) {

   e.printStackTrace();

   System.out.println("数据处理中……");

  

 

  此程序中,后台需要三秒等待才能处理好请求。

  2.controller调用异步业务请求的方法

  

package com.springboot.assigment.controller;

 

  import com.springboot.assigment.service.AsyncService;

  import org.springframework.beans.factory.annotation.Autowired;

  import org.springframework.stereotype.Controller;

  import org.springframework.web.bind.annotation.RequestMapping;

  import org.springframework.web.bind.annotation.ResponseBody;

   * @author panglili

   * @create 2022-07-12-8:23

  @Controller

  public class AsycnController {

   @Autowired

   AsyncService asyncService;

   @RequestMapping("/asycn")

   @ResponseBody

   public String asycn(){

   asyncService.Asycn();

   return "ok";

  

 

  在执行完对异步业务的调用之后才会返回给前台一个ok!

  3.主程序开启异步处理,创建多线程池!

  

@EnableAsync 

 

  //开启异步处理,底部开启了一个线程池存放异步请求的处理

  

 

  总结:实现异步处理只需要加上两个注解,在异步请求服务上加上@Async在主程序上加上@EnableAsync 即可!

  二.邮件任务

  1.导包

  

 !--邮件任务-- 

 

   dependency

   groupId org.springframework.boot /groupId

   artifactId spring-boot-starter-mail /artifactId

   /dependency

  

 

  2.配置文件properties

  

spring.mail.username=2558008051@qq.com

 

  spring.mail.password=lswpwkcyalcsdhjc

  
spring.mail.properties.mail.smtp.auth=true

  spring.mail.properties.mail.smtp.starttls.enable=false

  spring.mail.properties.mail.smtp.starttls.required=false

  

 

  3.邮件发送方法

  

class SpringbootApplicationTests {

 

   @Autowired

   JavaMailSender mailSender;

   @Test

   void contextLoads() {

   SimpleMailMessage message = new SimpleMailMessage();

   message.setSubject("你好");

   message.setText("这是发送内容~");

   message.setTo("2558008051@qq.com");

   message.setFrom("2558008051@qq.com");

   mailSender.send(message);

  

 

  简单的邮件发送功能完成!

  三.定时执行任务

  1.写一个需要定时执行的任务

  

package com.springboot.assigment.service;

 

  import org.springframework.scheduling.annotation.Scheduled;

  import org.springframework.stereotype.Service;

   * @author panglili

   * @create 2022-07-12-10:00

  @Service

  public class ScheduledService {

  以上就是springboot中的任务处理(springboot任务调度)的详细内容,想要了解更多 springboot中的任务处理的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: