使用java的spring定时执行任务
来源:互联网 发布:js 设置高度 编辑:程序博客网 时间:2024/06/05 14:10
流程:
1.配置web.xml中spring的核心控制器
2.在spring的xml文件中注入定时器,并关联你的逻辑层
3.设置需要执行的时间策略.
第一步:
<!-- 加载Spring容器配置 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 设置Spring容器加载所有的配置文件的路径 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:config/spring-*.xml</param-value></context-param><!-- 配置SpringMVC核心控制器 --><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置初始配置化文件,前面contextConfigLocation看情况二选一 --> <init-param><param-name>contextConfigLocation</param-name><param-value>classpath*:config/spring-mvc.xml</param-value></init-param><!-- 启动加载一次 --> <load-on-startup>1</load-on-startup></servlet><!--为DispatcherServlet建立映射 --><servlet-mapping><servlet-name>springMVC</servlet-name><!-- 此处可以可以配置成*.do,对应struts的后缀习惯 --><url-pattern>/</url-pattern></servlet-mapping><!-- 防止Spring内存溢出监听器 --><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class></listener>
第二步:
<!-- 定时加载的目标类 --> <bean id="mytask" class="com.qs.timer.myQuarzt" /> <!-- 配置定时器详情 --> <bean id="mytaskDitail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="mytask" /> <property name="targetMethod" value="doit" /> </bean> <!-- 定义时间间隔触发器 --> <bean id="timeTigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="mytaskDetail" ref="mytaskDitail" /> <property name="cronExpression" value="10 0 0 * * ?" /> </bean> <!-- 启动定时器 --> <bean id="startJob" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="timeTigger" /> </list> </property> </bean>
目前代码设置的自动执行任务的时间是每天的0点0分10秒
第三步:
import java.text.SimpleDateFormat;import java.util.Date;import javax.annotation.Resource;import org.quartz.JobExecutionException;import com.qs.service.sportService;public class myQuarzt {@Resourceprivate xxService xxservice;public void doit()throws JobExecutionException{System.setProperty("user.timezone","GMT+8");System.out.println("动态时间:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));//执行数据库删除冗余数据操作int flag = this.xxservice.delExpirationDate();}}
最后执行mybatis.xml执行sql语句成功删除数据
DELETE from table1 where substring(theday, 4)<curdate() theday时间格式为 周二,2017-10-24 所以要使用截取字符串函数
以上就是spring定时器的简单使用示例.
阅读全文
0 0
- 使用java的spring定时执行任务
- java spring执行定时任务
- 使用Spring的@Scheduled实现定时任务以及解决无法执行定时任务
- 使用spring @Scheduled注解执行定时任务、
- 使用Spring Quartz执行定时任务
- 使用spring @Scheduled注解执行定时任务、
- 使用spring @Scheduled注解执行定时任务
- 使用spring @Scheduled注解执行定时任务
- maven构建使用Spring执行定时任务
- 使用spring @Scheduled注解执行定时任务
- 使用spring @Scheduled注解执行定时任务、
- 使用spring @Scheduled注解执行定时任务
- 使用spring @Scheduled注解执行定时任务
- 使用spring @Scheduled注解执行定时任务
- 使用spring @Scheduled注解执行定时任务
- 使用spring @Scheduled注解执行定时任务
- 使用spring @Scheduled注解执行定时任务、
- Spring使用注解执行定时任务
- shell中$(( ))、$( )与${ }的区别
- lombok--简化代码
- Git常见命令
- 【Spring】cglib代理
- 新建jsp时的模板样式更改,basepath
- 使用java的spring定时执行任务
- 论文发表流程需要注意什么方面
- 9.2 机器人的 HTTP
- 不同操作系统下搭建服务器
- 518抽奖软件源码之:主窗口上含对话框时如何最小化
- kubernetes笔记
- Uva 10305 Ordering Tasks (用dfs 实现拓扑排序)
- PMOS开关管的选择与电路图
- curl 单线程请求