`
thinktothings
  • 浏览: 777475 次
  • 性别: 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整合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提供...

    spring+quartz实现动态设置定时任务

    同时,我们需要配置数据源,因为Quartz可以将任务和触发器存储在数据库中,便于动态管理。 2. **定义Job和Trigger**:Quartz中的Job代表一个具体的任务,而Trigger则定义了任务何时执行。在Spring中,我们可以通过...

Global site tag (gtag.js) - Google Analytics