spring定时练习

1.配置文件

<?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:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:jaxws="http://cxf.apache.org/jaxws"
    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/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
           http://cxf.apache.org/jaxws
           http://cxf.apache.org/schemas/jaxws.xsd">
    <!-- 要调用的工作类 -->
    <bean id="TestJob" class="com.kt.test.TestJob"></bean>
    <!-- 定义调用对象和调用对象的方法****************************** -->
    <bean id="TestJobTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject">
            <ref bean="TestJob"/>
        </property>
        <property name="targetMethod">
            <!-- 指定定时执行的方法 -->
            <value>test</value>
        </property>
        <property name="concurrent">
            <value>false</value>
        </property>
    </bean>

    <!-- 定义触发时间***************************** -->
    <bean id="testJobTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail">
            <ref bean="TestJobTask"/>
        </property>
        <property name="cronExpression">
            <value>0/2 * * * * ?</value>
        </property>
    </bean>

    <!-- 启动工作 -->
    <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="testJobTime"/>
            </list>
        </property>
    </bean>
    </beans>

2.Java代码

package com.kt.test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TestJob {
     protected Logger log = LoggerFactory.getLogger(this.getClass());
        public  void test(){
            log.info("test:"+System.currentTimeMillis());
            //System.out.println("test"+System.currentTimeMillis());
        }
}

3.web.xml配置

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <display-name>ES1</display-name>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
              classpath*:/applicationContext.xml
              classpath*:/applicationContext-quartz.xml
              classpath*:/cacheContext.xml
          </param-value>
  </context-param>
时间: 2024-12-14 03:43:34

spring定时练习的相关文章

Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群

Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2016年7月7日 09:06:09 星期四 http://fanshuya

Spring定时实际项目运用

applicationContext-timer.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <!-- 微

Spring 定时执行任务重复执行多次

使用spring的定时任务组件的时候,代码如下. @Scheduled(cron="0 5/5 * * * ?") public void sendWeatherSMS() { String messageContent = messageFactory.getWeatherSMS(); //如果生成短信内容为空的话,则重试3次. int retryTimes = 3; while(retryTimes>=0&&isEmpty(messageContent)){

spring 定时刷新配置文件

public class TestResource { public static void main(String[] args) { ResourceLoader resourceLoader = new DefaultResourceLoader(); ReloadableResourceBundleMessageSource auto = new ReloadableResourceBundleMessageSource(); String[] basenames = {"filenam

Spring+quartz 实现定时任务job集群配置

为什么要有集群定时任务? 因为如果多server都触发相同任务,又同时执行,那在99%的场景都是不适合的.比如银行每晚24:00都要汇总营业额.像下面3台server同时进行汇总,最终计算结果可能是真实结果的3倍,那对银行来说是无法想象的,完全不可接受. 集群定时任务工作原理 所以为了解决以上问题,每个server把将要及正在运行的job所有状态都即时同步到中央数据库,然后再次触发调用时从数据库中分析是否已有别的server正在运行相同job (同名同定时时间点的job属于相当job),如果相同

spring quartz 分布式任务计划

通过maven管理的spring mvc工程,且已经成功连接数据库. 数据库表结构 /*Table structure for table `qrtz_calendars` */ DROP TABLE IF EXISTS `qrtz_calendars`; CREATE TABLE `qrtz_calendars` ( `SCHED_NAME` varchar(120) NOT NULL, `CALENDAR_NAME` varchar(200) NOT NULL, `CALENDAR` blo

Spring定时器技术终结者——采用Scheduled注释的方式实现Spring定时器

在Spring中有两种方式可以实现定时器的功能,分别是Scheduled注释方式和XML配置方式,本博客将介绍如何在Spring中使用Scheduled注释方式的方式实现定时器的功能,代码及相应的解释如下: 代码1-Spring配置文件(applicationContext.xml文件): <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframe

Spring task配置,及解决加载两次的方法

? 关于 启动Task任务同时加载两次的解决方法:? 将spring MVC部分的定义另外建立一个文件,同时把Task配置放在此处,然后在web.xml文件中的处加载 <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-pa

Spring 配置 定时器

要实现每隔多长时间发送一个请求 在applicationContext.xml中配置 所需jar包: 链接:http://pan.baidu.com/s/1jGL4kzO 密码:6ojg 一,配置目标类 <pre name="code" class="html"> <bean id="backupAdListPolicyJob" class="com.hyan.jms.Test"> <proper