sping MVC 定时任务的设置
项目中用到了定时任务,写一篇随笔记录一下。
首先在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 定时任务的设置的更多相关文章
- Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)
1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...
- MVC中如何设置路由指定默认页
MVC中怎么设置默认页,在webform中 只要右键设置起始页就可以,但MVC中却没有这个功能,其实MVC更简单 如下: Login是控制器,Index 是动作 在全局Global.asax中改动下即 ...
- 工作中linux定时任务的设置及相关配置
工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次 0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type ...
- Quartz 定时任务时间设置
转自https://blog.csdn.net/zdx1515888659/article/details/79158169 quartz定时任务时间设置: 这些星号由左到右按顺序代表 : * * * ...
- 请简要介绍Sping MVC、IoC和AOP
Sping MVC是在Spring框架上发展起来的框架,它提供了构建Web应用程序的全功能MVC模块,使用了Spring可插入的MVC架构,可以自由的选择各个模块所使用的架构,非常灵活.Spring ...
- MVC的路由设置【转】
转,MVC的路由设置. 后端获取路由里面action的参数,函数需要设置相同的参数名称才行. routes.MapRoute( "Default", "{controll ...
- ASP.NET MVC Html.BeginForm 设置 timeout
示例代码: @using (Html.BeginForm("PublishSubmit", "Blog", FormMethod.Post, new { id ...
- asp.net错误页和asp.net mvc错误页设置
asp.net错误页 在日常项目开发过程中,我们需要给网站设置错误页和记录错误日志. 首先,在项目中添加全局应用程序类 在Global.asax中 protected void Application ...
- Sping mvc 环境下使用kaptcha 生成验证码
一.kaptcha 的简介 kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的原理是调用 com.google.code.kap ...
随机推荐
- ubuntu14 安装Express及简单应用
参考资料 [1] 基于Express的Hello World实例 Express 是一个基于 Node.js 平台的极简.灵活的 web 应用开发框架. 1. 环境 工具名 版本 nodejs v11 ...
- 如何创建Github账号及将本地项目上传至GitHub?
如何将本地项目上传至GitHub 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直 ...
- js 实现去重
ES6 set去重 Array.from(new Set([1,2,3,3,4,4])) // [1,2,3,4] [...new Set([1,2,3,3,4,4])] // [1,2,3,4] 使 ...
- Java-android使用GridView布局的电子相册&服务器获取图片
转 http://www.tuicool.com/articles/B7JNv2 电子相册的思路: 1.先是考虑布局,我用的是GridView布局 2.GridView中又该怎么显示图片,其实我的这 ...
- bzoj 4747: [Usaco2016 Dec]Counting Haybales
23333,在扒了一天题解之后发现我竟然还能秒题,虽然这是个pj的sb题... (排个序,然后upper_bound和lower_bound一用就行了(是不是有O(1)的查询方法啊??貌似要离散啊,一 ...
- Lognormal distribution 对数正态分布
转载:https://blog.csdn.net/donggui8650/article/details/101556041 在概率论中,对数正态分布是一种连续概率分布,其随机变量的对数服从正态分布. ...
- Mybatis入门(六)联查之多对一
Mysql可以联查,但Mybatis也可以联查只是没有MySQL联查的舒服需要配置很多文件. 开始搭建环境: MySQL新建两个表一个Student一个Teacher表: Teacher表: CREA ...
- iScroll.js的用法
概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码.这个项目的产生完全是因为移动版webkit浏览器(诸如iPhone,iPad,Android 这些系统上广泛使用)提供了一 ...
- Day2-O-Coloring a Tree CodeForces-902B
You are given a rooted tree with n vertices. The vertices are numbered from 1 to n, the root is the ...
- php 实现店铺装修5
/** * @title 选中蜂店装修模板样式 * @param plate_id 是 int 商品(平台或特色)装修样式ID * @param type_id 是 int 要装修商品的类型(1-平台 ...