springboot定时任务2

springboot定时任务@Scheduled 

    定时任务一般是项目中都需要用到的,可以用于定时处理一些特殊的任务。

在spirngboot中使用定时任务变的特别简单,只需要在启动类上增加一个@EnableScheduling注解即可。默认情况下,如果什么都不进行配置,就会导致一个问题,系统中所有的定时任务都是使用的一个线程去执行的,也就是说,如果如果同一个时刻有2个定时任务需要执行,那么只可能有一个定时任务在执行,如果要解决这个问题可以定义一个自定的任务调度线程池即可。

解决方案:

上面这个图是从 org.springframework.scheduling.annotation.EnableScheduling 这个注解类上的解释上截出来的。大致上就是我们定义一个 TaskScheduler 类型的bean即可解决这个问题。

 

实现功能:

   启动3个定时任务,每隔1s打印出一句话,观看是同一个线程打印的还是不同的线程打印的。

实现功能

  1、在启动类上增加@EnableScheduling注解

  2、配置一个类型为 TaskScheduler类型的bean (可以将这个类型的bean删除,看程序输出的结果)

  3、编写一个任务类,每隔1s输出内容

 

一、pom文件的内容

Java代码 

 收藏代码

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  4.     <modelVersion>4.0.0</modelVersion>  
  5.   
  6.     <groupId>com.huan</groupId>  
  7.     <artifactId>springboot-task</artifactId>  
  8.     <version>0.0.1-SNAPSHOT</version>  
  9.     <packaging>jar</packaging>  
  10.   
  11.     <name>springboot-task</name>  
  12.     <description>spring boot整合定时任务+</description>  
  13.   
  14.     <parent>  
  15.         <groupId>org.springframework.boot</groupId>  
  16.         <artifactId>spring-boot-starter-parent</artifactId>  
  17.         <version>1.5.8.RELEASE</version>  
  18.         <relativePath/> <!-- lookup parent from repository -->  
  19.     </parent>  
  20.   
  21.     <properties>  
  22.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  23.         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
  24.         <java.version>1.8</java.version>  
  25.     </properties>  
  26.   
  27.     <dependencies>  
  28.         <dependency>  
  29.             <groupId>org.springframework.boot</groupId>  
  30.             <artifactId>spring-boot-starter-web</artifactId>  
  31.         </dependency>  
  32.   
  33.         <dependency>  
  34.             <groupId>org.springframework.boot</groupId>  
  35.             <artifactId>spring-boot-starter-test</artifactId>  
  36.             <scope>test</scope>  
  37.         </dependency>  
  38.     </dependencies>  
  39.   
  40.     <build>  
  41.         <plugins>  
  42.             <plugin>  
  43.                 <groupId>org.springframework.boot</groupId>  
  44.                 <artifactId>spring-boot-maven-plugin</artifactId>  
  45.             </plugin>  
  46.         </plugins>  
  47.     </build>  
  48.   
  49.   
  50. </project>  

 二、编写启动类

 三、编写任务类

 四、执行结果

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值