分享Spring Scheduled定时器的用法
- /*
- *文件名:ITimeFlickerHandler.java
- *版权:王安琪
- *描述:时钟消息处理接口
- *修改时间:2014-01-13
- *修改内容:新增
- */
- public interface ITimeFlickerHandler {
- void handle();
- }
- /*
- *文件名:TimeFlicker.java
- *版权:王安琪
- *描述:时钟触发源
- *修改时间:2014-01-13
- *修改内容:新增
- */
- import java.util.ArrayList;
- import java.util.List;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.scheduling.annotation.Scheduled;
- /**
- * 时钟触发源
- *
- * @author wanganqi
- *
- */
- public class TimeFlicker {
- private static final Logger logger = LoggerFactory
- .getLogger(LocatingSourceFilter.class);
- private List<ITimeFlickerHandler> handlers = new ArrayList<ITimeFlickerHandler>();
- /**
- * 通过配置文件获取要调用的时钟消息处理类
- *
- * @return
- */
- public List<ITimeFlickerHandler> getHandlers() {
- return handlers;
- }
- public void setHandlers(List<ITimeFlickerHandler> handlers) {
- this.handlers = handlers;
- }
- // 每一个小时30分00秒执行处理
- @Scheduled(cron = "0 30 * * * ?")
- public void run() {
- for (ITimeFlickerHandler handler : handlers) {
- handler.handle();
- }
- }
- }
- /*
- *文件名:Monitor.java
- *版权:王安琪
- *描述:监控处理
- *修改时间:2013-12-10
- *修改内容:新增
- */
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- public class Monitor implements ITimeFlickerHandler {
- private static final Logger logger = LoggerFactory
- .getLogger(LocatingSourceFilter.class);
- /**
- * 定时时间到,更新所有电子围栏缓存
- *
- * @see ITimeFlickerHandler#handle()
- */
- @Override
- public void handle() {
- EF[] res = null;
- try {
- res = service.GetEF();
- } catch (Exception e) {
- logger.error("This is error message");
- }
- EFB.setBuffer(res);
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:task="http://www.springframework.org/schema/task"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
- http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd ">
- <!-- 处理器相关 -->
- <task:annotation-driven />
- <bean id="Monitor"
- class="com.imp.Monitor" />
- <bean id="TimeFlicker" class="com.imp.TimeFlicker">
- <property name="handlers">
- <list>
- <ref bean="Monitor" />
- </list>
- </property>
- </bean>
- </beans>
五、
- import org.springframework.context.support.AbstractApplicationContext;
- import org.springframework.context.support.FileSystemXmlApplicationContext;
- public class AppContext {
- private static AbstractApplicationContext dispatchContext;
- /**
- * 以单例模式获取上下文
- *
- * @return 上下文
- */
- public static AbstractApplicationContext getDispatchContext() {
- if (dispatchContext == null)
- dispatchContext = new FileSystemXmlApplicationContext(
- "classpath:bean.xml");
- return dispatchContext;
- }
- }
如有引用,请注明来自http://www.cnblogs.com/wgp13x/ ,另外推荐一篇我刚写的博客:
如何写一篇论文,<一种低耗能的数据融合隐私保护算法ESPART> (计算机学报2011-5,王安琪)
分享Spring Scheduled定时器的用法的更多相关文章
- Spring Boot使用@Scheduled定时器任务
摘要: Spring Boot之使用@Scheduled定时器任务 假设我们已经搭建好了一个基于Spring Boot项目,首先我们要在Application中设置启用定时任务功能@EnableS ...
- Spring Boot 使用@Scheduled定时器任务
摘要: Spring Boot之使用@Scheduled定时器任务 假设我们已经搭建好了一个基于Spring Boot项目,首先我们要在Application中设置启用定时任务功能@EnableSch ...
- Spring @Scheduled应用解析
最近,遇到的一个需求,需要执行定时任务,每个一定时间需要执行某个方法 因为项目是SpringMVC的项目,所以使用的是Spring @Scheduled(由于quartz应用起来太麻烦,所以没有采用) ...
- 使用轻量级Spring @Scheduled注解执行定时任务
WEB项目中需要加入一个定时执行任务,可以使用Quartz来实现,由于项目就一个定时任务,所以想简单点,不用去配置那些Quartz的配置文件,所以就采用了Spring @Scheduled注解来实现了 ...
- Spring任务调度定时器
1.在spring-context.xml配置 <!-- 计划任务配置,用 @Service @Lazy(false)标注类,用@Scheduled(cron = "0 0 2 * * ...
- javascript中window与document对象、setInterval与setTimeout定时器的用法与区别
一.写在前面 本人前端菜鸟一枚,学习前端不久,学习过程中有很多概念.定义在使用时容易混淆,在此给向我一样刚踏入前端之门的童鞋们归纳一下.今天给大家分享一下js中window与document对象.se ...
- spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务
spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务 >>>>>>>>>>>> ...
- Spring MVC RedirectAttributes的用法解决办法
Spring MVC RedirectAttributes的用法很久没发过技术贴了,今天对于一个问题纠结了2小时,遂放弃研究用另一种方法解决,奈何心中一直存在纠结,发帖求解 我先解释下什么是Redir ...
- 框架源码系列十:Spring AOP(AOP的核心概念回顾、Spring中AOP的用法、Spring AOP 源码学习)
一.AOP的核心概念回顾 https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#a ...
随机推荐
- 在ubuntu下使用Eclipse搭建Hadoop开发环境
一.安装准备1.JDK版本:jdk1.7.0(jdk-7-linux-i586.tar.gz)2.hadoop版本:hadoop-1.1.1(hadoop-1.1.1.tar.gz)3.eclipse ...
- 设置 mysql允许外网访问
mysql的root账户,我在连接时通常用的是localhost或127.0.0.1,公司的测试服务器上的mysql也是localhost所以我想访问无法访问,测试暂停. 解决方法如下: 1,修改表, ...
- Go的接口总结
一.什么是接口 接口类型是一种抽象的类型,它描述了一系列方法的集合. 接口约定:接口类型中定义的方法即为约定,若一个具体类型实现了所有这些方法,则该类型就满足该接口的约定,或者说它是这个接口类型的实例 ...
- ansible roles 目录规范
我的ansible roles项目的目录结构: (ansible_venv) [root@localhost ansible_home]# tree ansible_playbooks/ ansibl ...
- [android] 练习样式主题自定义activity切换动画
主要练习了自定义样式和主题,继承android系统默认的样式并修改,练习xml定义淡入淡出动画 anim/fade_in.xml <?xml version="1.0" en ...
- Thread 的join方法
package com.cn.test.thread; public class TestJoin extends Thread{ private String name; public TestJo ...
- 希尔排序——Python实现
一.排序思想 希尔排序思想请参见:https://www.cnblogs.com/luomeng/p/10592830.html 二.python实现 def shellSort(arr): &quo ...
- hdu Anniversary party 树形DP,点带有值。求MAX
Anniversary party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 廖雪峰JavaScript练习题3
请尝试写一个验证Email地址的正则表达式.版本一应该可以验证出类似的Email: 正则表达式: <!DOCTYPE html> <html> <head> < ...
- kotlin语法
https://try.kotlinlang.org/#/Examples/Hello,%20world!/Simplest%20version/Simplest%20version.kt /** * ...