定时任务如果不需要指定固定的时间点(比如晚上22:00),而只需要每隔一段时间执行任务,可以用jdk中自带的定时器来实现。Spring提供了很好的支持。
比如需要每隔一小时,就要向控制台中输出一行字符串“hello,world!”,只需要定义一个类,写一个Spring配置文件就可以了。
类用来实现具体的输出,需要继承自java.util.TimerTask。
Java代码
Package test.pupi;
import java.util.List;
import java.util.TimerTask;
public class PrintHelloworld extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.print("hello,world!");
}
}
Package test.pupi;
import java.util.List;
import java.util.TimerTask;
public class PrintHelloworld extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.print("hello,world!");
}
}
spring配置文件则也很简单,
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 这个bean定义上面的那个实现定时操作的类 -->
<bean id="printHelloworld"
class="test.pupi.PrintHelloworld ">
</bean>
<!-- 这个bean定义循环定时任务,注意,period属性的单位是毫秒。3600000毫秒就是1小时 -->
<bean id="scheduledEmailTask"
class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask" ref="printHelloworld" />
<property name="period" value="3600000" />
</bean>
<!-- 这个bean定义当前应用对应的所有的定时任务 -->
<bean
class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref bean="scheduledEmailTask" />
</list>
</property>
</bean>
</beans>
分享到:
相关推荐
java中spring quartz定时任务demo,里面包含项目所需的quartz.jar, spring.jar包,配置文件等,可直接运行使用
本案例是基于quartz+spring做的定时任务,包含所有jar包,可以直接运行
可运行的项目,实现了spring定时任务,很好理解!一看就懂
Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置
使用Spring Task开发定时任务的Demo
spring-boot-thymeleaf:simple spring boot thymeleaf demo spring-boot-jpa-thymeleaf-curd:spring boot + jpa + thymeleaf 增删改查示例 spring-boot-rabbitmq:spring boot和rabbitmq各种消息应用案例 spring-...
spring定时任务的jar包及Demo
springboot 框架自带的scheduler定时任务功能学习demo源码
spring整合quartz动态定时任务demo-spring-quartz-demo
定时任务demo,Java语言,spring整合quartz配置文件实现定时任务
spring task定时任务的demo,基于配置和基于注解两种方法实现
Spring Quartz 动态暂停、恢复、修改定时任务的一个demo,使用maven构建,框架采用spring springmvc jpa,数据库mysql,含数据库脚本,运行可用,页面访问地址http://localhost:8080/quartz_demo/quartz/list
该项目已成功集成 actuator(监控)、admin(可视化监控)、...job(分布式定时任务)、swagger(API接口管理测试)、security(基于RBAC的动态权限认证)、SpringSession(Session共享)、Zookeeper(结合AOP实现分布式锁)、Ra
1、spring 定时任务demo 2、定时任务(xxl-job)(XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。) 3、...
`spring boot demo` 是一个用来深度学习并实战 `spring boot` 的项目,目前总共包含 **`63`** 个集成demo,已经完成 **`51`** 个。 该项目已成功集成 actuator(`监控`)、admin(`可视化监控`)、logback(`日志`)、aop...
Spring 的定时任务 自己总结的简单的demo以文档的形式展示
基于Spring的Quartz动态定时任务增删改查,代码简洁。后端采用SpringMvc+Spring+Mybatis+Quartz,前端采用Bootstrap框架,数据库采用MySQL;完成定时任务动态任务初始化,增删改查
最近公司在做一个定时任务,前期采用spring自带的schedule。 场景:添加日程提醒功能。需要进行动态刷新定时任务。因为以前公司都是使用第三方, 比如xxl-job。所有有点不熟悉schedule.参考了网上一些相关资料。写了...
这是一个完整的demo,包含所有代码和jar包,亲自测试能定时执行任务,无误差。
spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 66 个集成demo。该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常...