项目中用到了定时任务,写一篇随笔记录一下。

  首先在Spring的配置文件ApplicationContext.xml文件的beans标签中添加

xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-4.1.xsd

  目前我了解的有两种方式使用定时任务:

  1.在配置文件中声明定时任务的调用

  先在ApplicationContext.xml文件中声明调用的bean

<bean id="quartzController" class="com.bizdata.common.socket.web.resource.QuartzTaskController"></bean>

  调用的java方法及代码如下

import java.text.SimpleDateFormat;
import java.util.Date; import org.springframework.stereotype.Controller; @Controller
public class QuartzTaskController { public void sysTime(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));
} }

  然后声明调用对象和调用对象的方法

<!-- 定义调用对象和调用对象的方法 -->
<bean id="myJobDetailA"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="quartzController"> <!--执行定时类-->
</property>
<property name="targetMethod" value="sysTime"></property> <!--执行定时的方法-->
<property name="concurrent" value="false" />
<!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程 -->
</bean>
<!-- 定义触发时间 -->
<bean id="myTriggersA"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="myJobDetailA">
</property>
<property name="cronExpression">
<value>0 00 6 * * ?</value> <!--定时时间-->
<!--时间大小由小到大排列,从秒开始,顺序为 秒,分,时,天,月,年 *为任意 ?为无限制-->
</property>
</bean>

  以上即完成定时任务的设置,每天早上6点调用。

  2.通过注解调用(推荐方法,会省很多配置,方便使用)

  ApplicationContext.xml文件中声明bean自动扫描:

<!-- 开启注解注入bean的支持 -->
<context:annotation-config />
<context:component-scan base-package="com.bizdata" />

  同时添加注解调用的配置

<task:annotation-driven/> <!-- 用定时器注解 -->

  java代码

  @Scheduled(cron="0 0 22 * * ?")
public boolean getDataCenterData(){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
return getDataCenterData(calendar.getTime());
}

  完成定时任务使用,每天22点调用。

  使用以上配置的注解方式调用定时任务时会打印出异常日志,但不影响使用,可以在log4j.properties文件添加一下日志等级过滤即可。

#定时器日志级别
log4j.logger.org.springframework.scheduling = INFO

  

sping MVC 定时任务的设置的更多相关文章

  1. Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)

    1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...

  2. MVC中如何设置路由指定默认页

    MVC中怎么设置默认页,在webform中 只要右键设置起始页就可以,但MVC中却没有这个功能,其实MVC更简单 如下: Login是控制器,Index 是动作 在全局Global.asax中改动下即 ...

  3. 工作中linux定时任务的设置及相关配置

    工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次    0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type ...

  4. Quartz 定时任务时间设置

    转自https://blog.csdn.net/zdx1515888659/article/details/79158169 quartz定时任务时间设置: 这些星号由左到右按顺序代表 : * * * ...

  5. 请简要介绍Sping MVC、IoC和AOP

    Sping MVC是在Spring框架上发展起来的框架,它提供了构建Web应用程序的全功能MVC模块,使用了Spring可插入的MVC架构,可以自由的选择各个模块所使用的架构,非常灵活.Spring ...

  6. MVC的路由设置【转】

    转,MVC的路由设置. 后端获取路由里面action的参数,函数需要设置相同的参数名称才行. routes.MapRoute( "Default", "{controll ...

  7. ASP.NET MVC Html.BeginForm 设置 timeout

    示例代码: @using (Html.BeginForm("PublishSubmit", "Blog", FormMethod.Post, new { id ...

  8. asp.net错误页和asp.net mvc错误页设置

    asp.net错误页 在日常项目开发过程中,我们需要给网站设置错误页和记录错误日志. 首先,在项目中添加全局应用程序类 在Global.asax中 protected void Application ...

  9. Sping mvc 环境下使用kaptcha 生成验证码

    一.kaptcha 的简介 kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的原理是调用 com.google.code.kap ...

随机推荐

  1. Kali aircrack-ng wifi密码破解(暴力)

    1.kali linux安全渗透 2.工具aircrack-ng 3.ifconfig查看你的网卡信息,wlan0即无线网卡,注意,如果没有发现网卡可能是芯片不能被识别,建议选择网卡芯片为3037或r ...

  2. 《iOS设计模式解析》书籍目录

    1.你好,设计模式 2.案例分析:设计一个应用程序 3.原型 4.工厂方法 5.抽象工厂 6.生成器 7.单例 8.适配器 9.桥接 10.外观 11.中介者 12.观察者 13.组合 14.迭代器 ...

  3. Java单例模式:为什么我强烈推荐你用枚举来实现单例模式

    单例模式简介 单例模式是 Java 中最简单,也是最基础,最常用的设计模式之一.在运行期间,保证某个类只创建一个实例,保证一个类仅有一个实例,并提供一个访问它的全局访问点.下面就来讲讲Java中的N种 ...

  4. burpsuite下载安装及基本配置

    jdk安装 根据电脑安装对应jdk版本 点此下载jdk 下载完成得到如下exe文件 配置Java环境变量 计算机右键-->属性-->高级系统设置-->环境变量 点击环境变量--> ...

  5. mysql视图初探

    mysql视图初探 官方例子如下,从官方的例子就可以看出来视图就是提供一种快捷查询.用视图来查询一些常用的结果. mysql> help create view; Name: 'CREATE V ...

  6. PaperWeek1

    ------------------5月13日星期一---------------------------- 论文:Practical Locally Private Heavy Hitters 看了 ...

  7. HDU-1312题解(DFS)

    HDU-1312-DFS Written by Void-Walker    2020-02-01 09:09:25 1.题目传送门:http://acm.hdu.edu.cn/showproblem ...

  8. Linux shell 学习随笔2

    1.几个重要的快捷键 (1) Tab  命令补齐或文件补齐 vtas@vtas-computer:~$ ca[tab][tab] cal calibrate_ppa canberra-gtk-play ...

  9. pip 安装源

    pip 安装源 介绍 1.采用国内源,加速下载模块的速度 2.常用pip源: -- 豆瓣:https://pypi.douban.com/simple -- 阿里:https://mirrors.al ...

  10. tomcat报错catalina.sh: line 401: /usr/java/jdk1.7.52/bin/java: No such file or directory(转)

    原文:https://blog.csdn.net/reblue520/article/details/52588825 将生产服务器的Tomcat目录打包过来后解压后,启动Tomcat后,发现如下问题 ...