下面我们来利用Spring4来编写一个Scheduling Tasks 计划任务
你将得到:
使用@Scheduled 注解来实现每5秒打印当前时间的应用。
必需准备:
1.大概15分钟时间。
2.JDK1.8或更高版本
3.Gradle2.3+或Maven3.0+(本文示例采用gradle构建)
开始构建:
1.在STS中右键创建一个spring Starter Project。
点击Next 按照图中所选填充值
点击Finish
2.在包com.stalvan中创建类ScheduledTasks代码如下
package com.stalvan; import java.text.SimpleDateFormat; import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class ScheduledTasks { private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class); private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); @Scheduled(fixedRate = 5000) public void reportCurrentTime() { log.info("The time is now {}", dateFormat.format(new Date())); } }
@Scheduled 注解可以指定需要按计划执行的任务。本例中使用的fixedRate 为周期性执行,数字为执行间隔毫秒数。我们还可以使用fixedDelay这样就是当一次任务执行完毕之后,多少毫秒后开始执行下一次的计划任务。当然我们也可以使用crontab的格式来进行高级指定。@Scheduled(cron=”. . .”)。
3.我们要在对应的SpringBoot入口类设置允许计划任务。通过使用@EnableScheduling来实现。代码如下:
package com.stalvan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableScheduling public class GsSchedulingTasksApplication { public static void main(String[] args) { SpringApplication.run(GsSchedulingTasksApplication.class, args); } }
4.启动程序。点击windows→showView→other 选择 Gradle(STS)中的Gradle Tasks
中双击bootRun 即可运行程序。
5.脱离IDE启动程序。
我们可以把程序打包成一个可执行的jar文件。打开命令行 切换到工程根目录下 执行命令 gradlew bootRun 就可以启动程序。
我们也可以先打包 再执行。打包命令为 gradlew build 然后执行命令为 java -jar build/libs/gs-scheduling-tasks-0.1.0.jar
至此 搭建完毕。如需下载DEMO程序 链接如下: