运用spring task定时器发布定时任务

在项目中遇到了需要每天定时执行的任务,查了好多,最终运用Spring Task定时器解决了此问题。实在是太赞了。

首先在spring.xml中确定以下内容:

自动扫描的包,定时器注解

spring.xml确认好以后,开始写定时类和方法(类在被扫描的包下):

ok,现在可以执行任务了。

注意内容:类上必须要有组件注释  @Component

定时方法必须要有注释 @Scheduled(cron="* * * * * ?")

定时任务不能有返回值

现在我们需要了解的就是cron表达式了,下面只例出几个式子

CRON表达式    含义

"0/5 * * * * ?" 每隔5秒执行一次

"0 0 12 * * ?"    每天中午十二点触发

"0 15 10 ? * *"    每天早上10:15触发

"0 15 10 * * ?"    每天早上10:15触发

"0 15 10 * * ? *"    每天早上10:15触发

"0 15 10 * * ? 2005"    2005年的每天早上10:15触发

"0 * 14 * * ?"    每天从下午2点开始到2点59分每分钟一次触发

"0 0/5 14 * * ?"    每天从下午2点开始到2:55分结束每5分钟一次触发

"0 0/5 14,18 * * ?"    每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发

"0 0-5 14 * * ?"    每天14:00至14:05每分钟一次触发

"0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发

"0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10:15触发

时间: 2024-10-18 10:47:37

运用spring task定时器发布定时任务的相关文章

Spring Task 定时器

尝试着用quartz写个定时器,结果失败了,项目一直在报错. 于是用spring task写了一个小例子.很简单的实现了每分钟都输出时间的功能. 1:POJO 这是个很简单的类,输出时间. @component  我们就不需要在配置bean了,@Scheduled是定义了调度,就是定好时间后 需要做的工作.cron是时间 @Scheduled(cron = "0 * 20 * * ?")分别是 0 * 20 秒 分钟 小时 * * ? 就说日期了, 天 月 年.我这里写的0 * 20

使用Spring Task轻松完成定时任务

一.背景 最近项目中需要使用到定时任务进行库存占用释放的需求,就总结了如何使用Spring Task进行简单配置完成该需求,本文介绍Spring3.0以后自定义开发的定时任务工具, spring task,我们可以将它比作一个轻量级的Quartz,使用简单方便,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式,下面我会分别介绍这两种方式. 二.定时任务开发步骤 开发环境 Spring 4.2.6.RELEASE Maven 3.3.9 Jdk 1.7 Idea 15.04

Spring Task中的定时任务无法注入service的解决办法

1.问题 因一个项目(使用的是Spring+SpringMVC+hibernate框架)需要在spring task定时任务中调用数据库操作,在使用 @Autowired注入service时后台报错,导致系统不能访问. 2.代码 定时任务的代码如下: @Componentpublic class TaskJob {        Logger logger = Logger.getLogger(TaskJob.class);        @Autowired    private TempSe

Spring Task定时任务

Spring Task定时任务 1.基于Spring Task的任务调度方法: Spring框架自带的异步执行(TaskExecutor)和任务调度(TaskScheduler)接口. Spring Task官方地址: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html 以下是task任务调度配置:spring-tasks.xml <?xml version="1

Spring Task定时任务的配置和使用详解

spring中使用定时任务 1.基于xml配置文件使用定时任务 首先配置spring开启定时任务 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:task

java Quartz定时器任务与Spring task定时的几种实现,

java Quartz定时器任务与Spring task定时的几种实现 基于java 的定时任务实现, Quartz 时间详细配置    请查阅   http://www.cnblogs.com/sihuanian/p/5010872.html Quartz 时间简单介绍    请查阅最底部 spring框架来介绍. 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask

spring定时任务轮询(spring Task)

定时任务轮询比如任务自服务器启动就开始运行,并且每隔5秒执行一次. 以下用spring注解配置定时任务.1.添加相应的schema 1 2 3 4 xmlns:task=" xsi:schemaLocation="     http://www.springframework.org/schema/task     http://www.springframework.org/schema/task/spring-task-3.0.xsd" 完整schema如下: 1 2 3

Spring - spring task 定时任务

spring task 实现定时任务 由于Spring3.0以后自带spring task定时任务工具,使用方法也非常简单,在Spring的架构下不需要额外引入其他jar包,同时还支持注解和配置文件两种形式. 一.注解方式配置(@Scheduled) 1.编写定时任务实体类 @Component public class SpringTaskJob { /* * cron : 秒,分,时,日,月,星期,年(可选) */ @Scheduled(cron = "0/5 * * * * ?"

Spring自带定时器实现定时任务

在Spring框架中实现定时任务的办法至少有2种(不包括Java原生的Timer及Executor实现方式),一种是集成第三方定时任务框架,如无处不在的Quartz:另一种便是Spring自带的定时器(仅针对3.0之后的版本).本文将围绕Spring自带定时器,模拟实现一个最简单的定时任务,看看使用起来到底有多简单. 第二步,启动Schedule配置,XML方式的配置请自行搜索,本文仅针对注解方式的实现提供说明. @EnableScheduling @EnableScheduling注解,用来引