`
zhaoshunxin
  • 浏览: 29943 次
  • 来自: 济南
社区版块
存档分类
最新评论

Quartz&Spring

    博客分类:
  • JAVA
 
阅读更多

SimpleScheduler.java

package quartz;

import java.text.ParseException;
import java.util.Date;

import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerUtils;
import org.quartz.impl.StdSchedulerFactory;
public class SimpleScheduler {

 /**
  * @param args
  */
 public static void main(String[] args) {
  SimpleScheduler simple = new SimpleScheduler();      
        simple.startScheduler();
 }
 public  void startScheduler(){
  Scheduler scheduler=null;
  
  try {
   scheduler=StdSchedulerFactory.getDefaultScheduler();

   //配置调度信息
   JobDetail jobDetail1=new JobDetail("ScanDirectory1",Scheduler.DEFAULT_GROUP,ScanDirectoryJob.class);
   jobDetail1.getJobDataMap().put("dirPath", "e:/");

   JobDetail jobDetail2=new JobDetail("ScanDirectory2",Scheduler.DEFAULT_GROUP,ScanDirectoryJob.class);
   jobDetail2.getJobDataMap().put("dirPath", "d:/");
   
   // SimpleTrigger 创建定时
   Trigger trigger1=TriggerUtils.makeSecondlyTrigger(10);
   trigger1.setName("scanTrigger1");
   trigger1.setStartTime(new Date()); //设置启动时间
   
   //CronTrigger
   CronTrigger trigger2=null;
   try {
    trigger2 = new CronTrigger("cronTrigger2",null,"0 0/1 * * * ?");
   } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   scheduler.scheduleJob(jobDetail1, trigger1);
   scheduler.scheduleJob(jobDetail2, trigger2);
   scheduler.start();
  } catch (SchedulerException e) {
   e.printStackTrace();
  }
 }
}


public class ScanDirectoryJob implements Job {
 private String name;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 @Override
 public void execute(JobExecutionContext context) throws JobExecutionException {
  JobDetail jobDetail= context.getJobDetail();
  System.out.println("jobDetail name :"+jobDetail.getName());
  
  JobDataMap dataMap =jobDetail.getJobDataMap();
  String dirPath =dataMap.getString("dirPath");
  
  File file = new File(dirPath);
  File[] files=file.listFiles();
  for (int i = 0; i < files.length; i++) {      
            File aFile = files[i].getAbsoluteFile();
            String msg = aFile+"---data:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(aFile.lastModified()));
            System.out.println(msg);
  }
 }
 public void work(){
  System.out.println(name);
 }

分享到:
评论

相关推荐

    quartz整合springbatch动态集群定时实现mysql参考

    Quartz和Spring Batch是两种非常重要的Java开源框架,它们在企业级应用开发中扮演着重要角色。Quartz主要用于任务调度,而Spring Batch则专注于批量处理。在这个“quartz_springbatch_dynamic”项目中,我们将看到...

    quartz和spring-quartz

    Quartz和Spring-Quartz是两个在Java世界中广泛使用的定时任务管理框架。Quartz是一个开源的作业调度框架,允许应用程序定义和调度任务在特定时间执行。而Spring-Quartz则是Spring框架对Quartz的集成,它使得在Spring...

    Quartz+Spring定时触发器例子

    Quartz和Spring结合使用可以构建强大的定时任务管理系统。Quartz是一个开源的作业调度框架,它允许应用程序定义和调度任务在特定时间执行。而Spring框架则提供了丰富的依赖注入和管理功能,使得集成Quartz变得更加...

    Quartz+spring定时任务demo

    在 "Quartz+spring定时任务demo" 中,我们首先需要了解如何配置和集成 Quartz 与 Spring。这通常包括以下步骤: 1. **引入依赖**:在项目中添加 Quartz 和 Spring 相关的 jar 包。描述中提到的 "1128266338845696....

    Quartz与Spring整合练习源代码

    将Quartz与Spring整合,可以方便地管理和控制定时任务,同时利用Spring的依赖注入和管理功能,提高代码的可维护性和可测试性。 Quartz的核心概念包括Job、Trigger和Scheduler。Job是实际需要执行的任务,Trigger是...

    quartz2.2.1 spring3.1.1

    Quartz 2.2.1 和 Spring 3.1.1 是两个在企业级Java应用开发中常用的开源框架。Quartz 是一个强大的、完全可定制的作业调度库,而 Spring 则是Java应用程序的全面框架,它提供了依赖注入、AOP(面向切面编程)、事务...

    Quartz + spring的开发步骤

    将 Quartz 整合到 Spring 中,可以方便地管理和控制定时任务,使得应用更具灵活性。 **1. 添加依赖** 首先,我们需要在项目中引入 Quartz 和 Spring 的相关依赖。如果是 Maven 项目,可以在 `pom.xml` 文件中添加...

    定时器的配置文件(两种方式:springmvc自带定时,Quartz与spring结合的定时)

    本篇文章将详细讲解两种在Spring MVC框架中实现定时任务的方法:Spring MVC自带的定时器以及Quartz与Spring的集成。 首先,我们来看看Spring MVC自带的定时任务。Spring MVC作为Spring框架的一个模块,主要处理HTTP...

    quartz整合springbatch定时集群实现mysql参考模版

    Quartz和SpringBatch是两种在Java开发中广泛使用的框架,Quartz用于任务调度,而SpringBatch则用于批量处理。在大型分布式系统中,结合这两者可以实现强大的定时任务集群功能,尤其是在需要对大量数据进行定时处理的...

    spring2与quartz在Web整合

    Spring 2 和 Quartz 是两个在 Java Web 开发中非常重要的框架。Spring 是一个全面的开源应用框架,提供了依赖注入(DI)、面向切面编程(AOP)以及丰富的数据访问和事务管理功能。Quartz,则是一个功能强大的作业...

    quartz与spring

    Quartz和Spring是两个在Java开发中非常重要的框架,它们分别专注于任务调度和应用程序的管理。Quartz是一个开源的工作调度库,它允许开发者定义、调度和执行任务,而Spring则是一个全面的企业级应用开发框架,提供了...

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

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

    SpringQuartz的使用文档

    SpringQuartz是一个强大的任务调度框架,它在Java应用程序中用于自动化执行特定任务,如定时生成文件、统计数据或执行后台清理工作。Quartz是开源的,具有高度灵活的调度功能,能够根据预定义的时间表触发任务,同时...

    Quartz注入Spring的Bean

    将Quartz与Spring结合,可以利用Spring的优秀特性来管理和控制Quartz的Job,使调度系统更加灵活、易于维护。 **Quartz与Spring的集成原理** 1. **Spring管理Quartz的配置**:通过Spring的XML配置文件,我们可以...

    spring和quartz的定时器的启动和停止例子

    在IT行业中,Spring框架和Quartz是两个广泛用于任务调度的重要工具。Spring提供了一种集成Quartz的方式,使得我们可以方便地在Spring应用中管理和执行定时任务。本篇将深入探讨如何在Spring中启动和停止Quartz定时器...

    Quartz+springjar

    "Quartz+springjar" 提供的 jar 文件很可能是为了帮助开发者快速搭建一个能够结合 Quartz 和 Spring 的环境。 Quartz 的核心概念包括: 1. **Job**:这是执行的任务,实现 `org.quartz.Job` 接口。Job 不包含任何...

    quartz+spring分布式集群

    将Quartz与Spring结合使用,可以方便地在Spring应用程序中进行定时任务的管理。 在“quartz+spring分布式集群”场景下,我们可以实现跨多个节点的作业调度,从而提高系统的可扩展性和可靠性。JDBC-JobStore是Quartz...

    spring quartz 时间调用框架

    **Spring Quartz时间调用框架详解** Spring Quartz是一个在Spring框架中集成的时间调度插件,它允许开发者方便地创建和管理定时任务。Quartz是Java领域的一款功能强大的作业调度库,而Spring通过其优秀的IoC...

    spring quartz 表达式在线生成器

    标题中的“Spring Quartz 表达式在线生成器”是指一个工具,它可以帮助开发者方便地创建和测试Spring集成Quartz库时所需的定时任务表达式。Quartz是一个强大的、完全开源的作业调度框架,常用于Java应用中执行定时...

Global site tag (gtag.js) - Google Analytics