定时执行某段代码的功能,或者隔一段时间执行一次。
Spring框架中是使用@Scheduled注解来实现定时任务的。
首先在配置文件头部的必须要有:
xmlns:task="http://www.springframework.org/schema/task"
其次xsi:schemaLocation必须为其添加:
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-4.0.xsd
然后spring扫描过程必须涵盖定时任务类所在的目录:
context:component-scan base-package="com.xx.xx" />
即@Scheduled注解的定时任务,能够被扫描到
然后设置动作启用定时任务
<task:annotation-driven/>
最后,定义定时任务类
如下面代码所示:
@Scheduled(cron="0 0/1 * * * ?")
public void executeTask() {
// TODO Auto-generated method stub
System.out.println("*************************");
System.out.println("**当前的时间为:"+new Timestamp((new Date()).getTime()));
System.out.println("*************************");
}
需要注意的几点:
1、spring的@Scheduled注解 需要写在实现上、
2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true)
3、实现类上要有组件的注解@Component
另外,@Scheduled中的cron参数定义了执行的频率。
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。
更详细的分析,参考http://rainbowdesert.iteye.com/blog/2107220
相关推荐
上一次传错了资源了,这个是正确的,包含quartz动态定时任务的
spring mvc quartz 动态设置时间,可以实现任务调度的暂停和重启,在页面实现一个功能,可以动态设置调度的表达式,可以开启暂停任务调度
Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务,原http://blog.csdn.net/phantomes/article/details/37880551博客的源码例子
最近公司在做一个定时任务,前期采用spring自带的schedule。 场景:添加日程提醒功能。需要进行动态刷新定时任务。因为以前公司都是使用第三方, 比如xxl-job。所有有点不熟悉schedule.参考了网上一些相关资料。写了...
利用quartz动态操作定时任务,所有配置信息扔到数据库合理管理,同时把运行日志自动添加数据库表中。
配置spring mvc定时任务需要的所有jar包,包括slf4j、log4j 因为springmvc的定时任务需要依赖slf4j
NULL 博文链接:https://wang-z-p2007.iteye.com/blog/908042
Spring3.0 mvc 定时器及多线程任务demo
简单实用的task定时任务实例代码,使用springMVC框架,可在此基础上进行功能扩展。
通过spring mvc整合qutarz , 结合数据库实现动态添加定时任务,管理定时任务等操作。
Spring4.3.15 + Quartz2.2 + Spring MVC管理可以管理任务的暂停,启动、立即执行一次、根据表达式重新调度等功能
修改定时任务:/scheduled/update-task 前端传递任务ID,cron表达式、待执行类路径、待执行方法名可以修改定时任务内容。 获取单个定时任务:/scheduled/get-task 前端传递任务ID即可获取。 获取定时任务列表:/...
# JavaEE课设项目——校园宽带业务管理系统 本项目内容JavaEE期末课设,将保持持续更新; ## 目录 * [JavaEE课设项目——校园宽带业务管理系统](#javaee课设项目校园宽带...- [x] task定时任务——生成到期订单的提醒
Java社区系统源码并提供详细的开发文档和配套教程,包含帖子、评论、私信、系统通知、...分布式定时任务:Spring Quartz 日志:SLF4J(日志接口) + Logback(日志实现) 前端: Thymeleaf Bootstrap 4.x Jquery Ajax
项目基于jdk1.8整合了springboot+mvc+mybatis(通用mapper)+druid+jsp+bootstrap等技术,springboot+Listener(监听器),Filter(过滤器),Interceptor(拦截器),Servlet,springmvc静态资源,文件上传下载,多数据源切换,缓存...
2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
花了两周,学习了下springboot,然后做个小东西练练手.项目基于jdk1.8整合了springboot+mvc+mybatis(通用mapper)+druid+jsp+...quartz定时任务(没有具体业务实现)等技术点都在项目中实现了,可谓是麻雀虽小五脏俱全!
spring mvc和spring定时任务task,包含xml配置,和用注解两种方式。包含jar包