Spring mvc 在一个定时器类里实现多个定时器任务

1.新建一个定时器配置文件,这里叫spring-task.xml,内容如下:

<?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:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"

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/context

http://www.springframework.org/schema/context/spring-context-3.1.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.1.xsd

http://www.springframework.org/schema/task

http://www.springframework.org/schema/task/spring-task-3.1.xsd">

<bean id="midTask" class="com.afmobi.task.MidTask" />

<!--注册定时器类,后面讲 -->

<!--定时器1 begin-->

<bean id="midDownTaskInfo"

class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<property name="targetObject" ref="midTask" />

<property name="targetMethod" value="midownloadItemTask" />

<!--指定定时器任务类要执行的方法名称 这里是midownloadItemTask -->

</bean>

<bean id="midDownTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

<!--配置定时器任务的调度器 -->

<property name="jobDetail" ref="midDownTaskInfo" />

<property name="cronExpression" value="0 0 01 * * ?" />

<!--默认每日凌晨1点执行 -->

</bean>

<!--定时器2  begin-->

<bean id="midStatusTaskInfo"

class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<property name="targetObject" ref="midTask" />

<property name="targetMethod" value="midownloadStatusTask" />

</bean>

<bean id="midStatusTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

<property name="jobDetail" ref="midStatusTaskInfo" />

<property name="cronExpression" value="0 10 01 * * ?" />

<!--每日凌晨1点10分执行-->

</bean>

<!--注册监听器 -->

<bean id="registerQuartz"

class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<!--注册定时器实体 集合 -->

<property name="triggers">

<list>

<ref local="midDownTrigger" />

<ref local="midStatusTaskTrigger" />

</list>

</property>

</bean>

</beans>

2.在spring的主配置文件里引入此xml文件:

<import resource="spring-task.xml" /><!-- 定时器配置文件 -->

3.定时器实现类:(实现了2个定时器的方法)

public class MidTask {

@Autowired

private TaskService taskService;

/**

* 下载产品中间表 mid_download_item_yyyy_MM 定时任务

*/

private void midownloadItemTask() {

List list = taskService.downloadFinishList();

}

/**

*下载状态中间表 mid_date_download_status 定时任务

*/

private void midownloadStatusTask() {

List list = taskService.downloadStatusList();

}

}

到此结束,(至于缺少的jar包什么的这里不做说明,报错了,自己去网上下载相应的jar包就ok了。)

时间: 2024-10-20 05:27:40

Spring mvc 在一个定时器类里实现多个定时器任务的相关文章

Spring MVC中一般类使用service

在Spring MVC中,Controller中使用service只需使用注解@Resource就行,但是一般类(即不使用@Controller注解的类)要用到service时,可用如下方法: 1.SpringContextUtil package com.test.framework.utils; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBea

spring mvc 的Controller类是单例?

使用Spring MVC有一段时间了,之前一直使用Struts2,在struts2中action都是原型(prototype)的, 说是因为线程安全问题,对于Spring MVC中bean默认都是(singleton)单例的,那么用@Controller注解标签注入的Controller类是单例实现的? 测试结果发现spring3中的controller默认是单例的,若是某个controller中有一个私有的变量i,所有请求到同一个controller时,使用的i变量是共用的,即若是某个请求中修

Spring MVC学习------------核心类与接口

核心类与接口: 先来了解一下,几个重要的接口与类.现在不知道他们是干什么的没关系,先混个脸熟,为以后认识他们打个基础. DispatcherServlet   -- 前置控制器 HandlerMapping接口 -- 处理请求的映射 HandlerMapping接口的实现类: SimpleUrlHandlerMapping  通过配置文件,把一个URL映射到Controller DefaultAnnotationHandlerMapping  通过注解,把一个URL映射到Controller类上

在一个java类里,private int a; 什么时候要使用integer

private Integer index; if(index == null) index = 0; else this.index = index; Integer有一个明显的好处,就是它能比int多表示一个值,没错就是null.假如一个属性,名字叫a,假如它的类型是Integer,那它就可以区别来有和没有值,比如你刚new出来一个对象,还没来得及给a赋值呢,此时a就是null,对吧,没有值.如果换成int类型呢,他有值,是0.假如这个属性是age,用户不想告诉你他的年龄,他就把用户名,邮箱

如何实现在一个测试类里只登录和退出登录一次

在进行自动化测试的时候,往往只需要登录一次和测试完成的以后,退出登录一次就好,不需要每执行一个测试用例,都登录和退出.用python 的classmethod 装饰器就能实现,伪代码如下: import unittestclass XXX(unittest.TestCase) @classmethod def setUpClass(cls): """ 这里实现一系列的登录操作 """ @classmethod def tearDownClass(

研究 Spring MVC 将请求分发到 Spring 依赖注入的类实例

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 一上午时间,碰了 N 个钉子,不断地把钉子拨掉,记录一下选择的工具和方法: 1.首先 Spring Mvc 框架的下载,那么有三个包是必不可少的:

Spring学习总结(2.1)— Spring MVC

简介 Spring MVC是MVC模式在UI中的使用,当然Spring MVC只是其中的一种.这个模式的特点是:分离了模型.视图.控制器三种角色.将业务处理从UI设计中独立出来,分装到模型和控制器设计中去,使得他们相互之间解耦.这样的话,它们就可以独立扩展. 流程 客户端请求提交到DispatcherServlet 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller DispatcherServlet将请求提交到Control

Spring MVC 之 DispatcherServlet

根据web.xml配置我们知道.DispatcherServlet这个类是Spring MVC的关键类.Spring的方法命名很有趣,在Spring进行DI注入的时候,也就是当Application调用getBean方法的时候.getBean方法调用的是doGetBean.而Spring MVC在处理request对象的时候调用的是doService方法.看这篇blog最好结合之前的blog:Spring MVC 之 @RequestMapping 1.doService – Spring MV

Spring MVC学习

Spring MVC 使我们可以简单地,开发灵活且松耦合的Web项目. 在Servlet 2.5及以下,servlet类需要在web.xml文件中,配置<servlet>元素,才能访问这个Servlet. 但在Spring MVC + Servlet 3.0下,通过实现WebApplicationInitializer 接口,便可实现等同web.xml的配置,做到无web.xml.然后可以在WebApplicationInitializer实现类中,通过Spring MVC的 Dispatch