`
thinktothings
  • 浏览: 784854 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring2.0 job Quartz 和Time一样的定时任务

阅读更多
package com.tht.common.job.spring;

import java.util.Date;

/**
 * Created by IntelliJ IDEA.
 * User: liuwen
 * Date: 2010-11-6
 * Time: 20:30:42
 * To change this template use File | Settings | File Templates.
 */
public class JobData {

    public String getDate(){
        return "Data from "+new Date().toString();
    }
}

 

package com.tht.common.job.spring;

import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

/**
 * Created by IntelliJ IDEA.
 * User: liuwen
 * Date: 2010-11-6
 * Time: 20:35:02
 * To change this template use File | Settings | File Templates.
 */
public class DemoJob  extends QuartzJobBean{

    private JobData jobData;
    @Override
    protected void executeInternal(org.quartz.JobExecutionContext jobExecutionContext) throws JobExecutionException {
        //To change body of implemented methods use File | Settings | File Templates.
        System.out.println(jobData.getDate()+"执行了");
    }

    public JobData getJobData() {
        return jobData;
    }

    public void setJobData(JobData jobData) {
        this.jobData = jobData;
    }
}

 

beans-config.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"
  xsi:schemaLocation="http://www.springframework.org/schema/beans 
  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
  
    <bean id="someData" class="com.tht.common.job.spring.JobData"/><!-- 时钟任务,执行任务时,会调用该类中的 run()方法,来执行。。。 -->

    <bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">
        <property name="jobClass" value="com.tht.common.job.spring.DemoJob"></property>
        <property name="jobDataAsMap">
            <map>
                <entry key="jobData" value-ref="someData"></entry>
            </map>
        </property>
    </bean>
    
    <bean id="simpleTriggerBean"
          class="org.springframework.scheduling.quartz.SimpleTriggerBean">
        <property name="jobDetail" ref="jobDetailBean"/>
        <property name="repeatInterval" value="5000"/><!--5000毫秒 即每隔5秒执行定时任务   -->
        <property name="startDelay" value="1000"/><!--1000毫秒 即1秒后 执行定时任务   -->
    </bean>
    
    <bean id="schedulerFactoryBean"
          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="simpleTriggerBean"/>
            </list>
        </property>
    </bean>
    
</beans>

 

package com.tht.common.job.spring;

import org.apache.log4j.Logger;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Timer;

/**
 * Created by IntelliJ IDEA.
 * User: liuwen
 * Date: 2010-11-6
 * Time: 19:43:29
 * To change this template use File | Settings | File Templates.
 * 启动类,并控制何时关闭时钟任务
 */
public class TimerTaskDemo {
     static Logger log=Logger.getLogger(TimerTaskDemo.class);


    public static void main(String[] args){
        ApplicationContext context=new ClassPathXmlApplicationContext("beans-config.xml");
        log.info("启动任务。。。。。。");
        log.info("请输入exit,关闭任务");
        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
        while(true){
            try {
                if(reader!=null && "exit".equals(reader.readLine())){
                    break;
                }
            } catch (IOException e) {
                log.error(e.getMessage(), e.fillInStackTrace());
            }
        }

        Scheduler scheduler =(Scheduler)context.getBean("schedulerFactoryBean");
        try {
            scheduler.shutdown();
        } catch (SchedulerException e) {
            log.error(e.getMessage(), e.fillInStackTrace());
        }
    }
}
 
分享到:
评论

相关推荐

    spring2.0 使用 Quartz 必备包

    spring2.0 使用 Quartz 必备包 里面有: quartz-all-1.5.2.jar spring-support.jar 适合:SSH框架 spring2.0 strut2.0 hibernate3.2等

    spring2.0 Quartz 执行每天定时任务 普通普是执行任务

    标题中的“spring2.0 Quartz 执行每天定时任务 普通普是执行任务”涉及到的是在Spring 2.0框架中使用Quartz库来创建并执行每天定时任务的场景。Quartz是一款强大的开源作业调度框架,它可以用来按计划执行各种任务,...

    Spring2.0 job 普通类中定时任务

    本篇文章将深入探讨如何在Spring 2.0中使用普通类来配置和执行定时任务。 首先,我们需要了解Spring Task的基本概念。Spring Task,也被称为Spring调度器,提供了一个可扩展的平台,用于执行周期性的后台任务。它...

    spring2.0学习笔记+spring定时任务

    这些资源可以帮助读者深入理解如何在Spring 2.0中配置和使用Quartz,以及如何编写和调度定时任务。通过学习这些资料,开发者可以更好地掌握Spring框架的定时任务功能,从而在实际项目中灵活地安排任务执行。

    spring2.0 Quartz 执行每天定时任务 建议用quartz-all-1.8.4.jar更稳定,兼容性更好

    标题中的“Spring 2.0 Quartz 执行每天定时任务”是指使用Spring框架的Quartz集成来创建一个每天自动执行的任务。Quartz是一个开源的作业调度框架,它允许开发者定义和调度任务,以便在指定的时间自动运行。在Spring...

    springboot2.0整合quartz

    Spring Boot简化了Spring应用程序的配置和启动过程,而Quartz则是一个强大的作业调度框架,用于执行定时任务。本篇文章将详细探讨如何在Spring Boot 2.0项目中整合Quartz,以及这种方式的优势。 首先,让我们了解...

    Spring2.0+quartz1.8定时执行任务内含Cron表达式生成器

    &lt;bean id="runTime" class="org.springframework.scheduling.quartz.CronTriggerBean"&gt; &lt;value&gt;0 0 2,17 * * ? &lt;!-- 最终启动的配置 --&gt; class="org.springframework.scheduling.quartz...

    spring+quartz动态定时任务创建 +mybatis

    在Spring中整合Quartz,我们可以利用Spring的管理能力,如bean的生命周期管理和事务管理,来更方便地创建和管理定时任务。 **Spring+Quartz动态定时任务创建** 将Spring与Quartz结合,我们可以方便地在运行时动态...

    Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查

    2. **从数据库中获取定时任务**:Quartz允许将任务和触发器的信息存储在数据库中,这可以通过实现`SchedulerFactoryBean`的`overwriteExistingJobs`属性为`false`来实现。这样,当Quartz启动时,它会从数据库中读取...

    spring之定时任务实现(spring-task和quartz等不同方式)

    Spring框架提供了一系列工具来支持定时任务的实现,其中包括Spring自带的`spring-task`模块和第三方的Quartz库。下面我们将详细探讨这两种方式以及如何通过注解和非注解的方式进行配置。 首先,`spring-task`是...

    Spring整合Quartz后的简单定时任务示例

    总结来说,这个资源为你提供了一个基础的Spring与Quartz集成案例,通过学习和实践,你可以掌握如何在Spring环境中利用Quartz实现高效、灵活的定时任务管理。同时,它也鼓励开发者之间的分享和交流,共同提升技术能力...

    spring整合java quartz实现动态定时任务的前台网页配置与管理

    在实际项目应用中经常会用到定时任务,可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合...

    Spring + quartz 定时任务修改定时时间不重启服务

    Spring + quartz 定时任务修改定时时间不重启服务

    Java分布式Elastic-Job和Quartz定时任务课程(1.6G)

    4_主流定时任务框架优缺点和什么是分布式定时任务.mp4 5_环境搭建总体流程.mp4 6_前期准备-JDK.mp4 7_前期准备-Maven.mp4 8_前期准备-MySQL.mp4 9_前期准备-Zookeeper.mp4 10_知识点检测与小结.mp4 11_Elastic-Job...

    Spring2.0技术手册_林信良PDF

    5. **Spring与其他技术的集成**:Spring 2.0支持与众多其他技术的集成,如EJB、 Quartz定时任务、邮件服务等。书中将展示如何整合这些技术,以增强应用的功能。 6. **测试支持**:Spring提供了丰富的测试工具和API...

    转:spring多个定时任务quartz配置

    通过以上步骤,你可以在Spring应用中配置和运行多个Quartz定时任务。`quartz.properties`文件是Quartz的核心配置,它决定了调度器的行为和存储方式。而Spring的配置则负责任务的实例化、触发规则以及与Quartz的集成...

    spring+springMVC+mybatis+quartz动态定时任务创建

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...

    SpringBoot2.0整合Quartz定时任务,实现基于数据库如mysql的动态任务

    在Spring Boot 2.0中整合Quartz定时任务,可以实现基于数据库如MySQL的动态任务管理,这在很多需要周期性执行任务的应用场景中非常实用。以下将详细讲解这一过程。 首先,我们要在项目的`pom.xml`文件中添加Quartz...

    spring3配置quartz定时任务

    本文将详细介绍如何在Spring 3中配置Quartz来实现定时任务。 首先,理解定时任务的基本概念。定时任务是在指定时间点或按照一定规律自动执行的任务,这在业务系统中非常常见,例如数据清理、报表生成等。Quartz提供...

Global site tag (gtag.js) - Google Analytics