构建一个Scheduling Tasks
来源:互联网 发布:知乎自媒体营销模式 编辑:程序博客网 时间:2024/06/05 11:34
你将搭建的
使用Spring的
@Scheduled
注解在控制台每5秒钟打印出当前时间。
工具
大概需要15分钟
一个文本编辑器
JDK1.8及以上
Maven 3.0+或者Gradle 2.3+(本文将使用Maven)
你也可以使用Spring Tool Suite (STS)直接import该工程
如何完成
如同所有的Spring入门教程,你可以选择一步一步的自己实现,也可以跳过基本的设置步骤。最终,你都将得到一份可以正常运行的代码。
如果选择按步实现,继续下一节。
如果选择跳过基本的安装部分,则执行以下命令从github获取代码:
git clone https://github.com/spring-guides/gs-scheduling-tasks.git
切换当前目录到gs-scheduling-tasks/initial,跳到Create a scheduled task步骤。
完成后,可以与gs-scheduling-tasks/complete中的代码对比一下,确保正确。
使用maven构建
建立目录结构
在你选定的工程目录下,建立如下子目录结构;例如,在*nix系统中使用mkdir -p src/main/java/hello命令:
└── src
└── main
└── java
└── hello
pom.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.springframework</groupId> <artifactId>gs-scheduling-tasks</artifactId> <version>0.1.0</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> </parent> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>
注意:本文使用了Spring Boot。
创建一个任务调度类
src/main/java/hello/ScheduledTasks.java
package hello;import java.text.SimpleDateFormat;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Componentpublic class ScheduledTasks { private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); @Scheduled(fixedRate = 5000) public void reportCurrentTime() { System.out.println("The time is now " + dateFormat.format(new Date())); }}
@Scheduled去配置一个特定的方法。这个例子使用的是 fixedRate,表示方法开始调用的时间间隔;可选还有 fixedDelay等,表示任务完成的间隔。你也可以使用 @Schduled(cron=”…”)表达式执行更复杂的调度。
启用调度任务
src/main/java/hello/Application.java
package hello;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication@EnableSchedulingpublic class Application { public static void main(String[] args) throws Exception { SpringApplication.run(Application.class); }}
执行:mvn spring-boot:run
结果:
英文原文:Scheduling Tasks
- 构建一个Scheduling Tasks
- Scheduling Tasks
- 11.1. Scheduling Tasks
- SpringBoot之Scheduling Tasks
- springcloud初学者--Scheduling Tasks
- Scheduling Tasks定时任务
- 【译】Scheduling Tasks
- spring boot:Scheduling Tasks
- Spring任务调度Scheduling Tasks
- spring - Scheduling Tasks 计划任务
- Spring任务调度Scheduling Tasks
- Scheduling R Tasks via Windows Task Scheduler
- Spring Boot 之 Scheduling Tasks定时任务
- 教程学习 02-Scheduling Tasks 学习笔记
- Scheduling R Tasks via Windows Task Scheduler
- SpringBoot非官方教程 | 第十八篇: 定时任务(Scheduling Tasks)
- SpringBoot非官方教程 | 第十八篇: 定时任务(Scheduling Tasks)
- SpringBoot非官方教程 | 第十八篇: 定时任务(Scheduling Tasks)
- 使用栈,队列 ------模拟广告轮播效果
- 重温javase—MySQL数据库基础
- 5. SpringMVC注解类实践例子1
- inline函数
- LinearLayout动态加载Button方案
- 构建一个Scheduling Tasks
- (一)委托模式简介 委托模式是基本的设计模式之一。委托,即是让另一个对象帮你做事情。 许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。 委托模式使得我们可以用聚合
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
- EcStore中的App是什么东西?
- code视频记录
- 如何在SVN创建自己的项目
- runtime笔记
- 关于github使用的个人经验
- 6. SpringMVC注解类实践例子2