`
kevin-qingzhan
  • 浏览: 84807 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java定时器的使用(Scheduler )

阅读更多
java定时器的使用(Scheduler ) (2007-08-20 10:19:14)
标签:其他频道   分类:技术料理

 
首先添加所需要的类包:quartz-1.5.2.jar,quartz-all-1.5.2.jar,quartz-jboss-1.5.2.jar
//设置定时作业
public void startScheduler(HttpServletRequest requests)throws SchedulerException{
  try{
   //建立作业调度器
   Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
   //判断作业调度内是否有作业,如果有将其删除
   if (!scheduler.isShutdown()) {
                scheduler.deleteJob("ReceiveOnTimed", Scheduler.DEFAULT_GROUP);
            }
   //删除调度器的作业后,新建一个我们现在要完成的作业,该作业所需要的类是ReceiveJobd.class,作业名字是ReceiveOnTimes,所属分组是Scheduler.DEFAULT_GROUP
            JobDetail jobDetail = new JobDetail("ReceiveOnTimed",
                                                Scheduler.DEFAULT_GROUP,
                                                ReceiveJobd.class);
            int m = ips.length;
            int n = tablenames.length;
            //向作业内设置要传入的参数
            jobDetail.getJobDataMap().put("scheduler", scheduler);
            jobDetail.getJobDataMap().put("ipLength", m);
            jobDetail.getJobDataMap().put("tablenameLength", n);
            jobDetail.getJobDataMap().put("wcx",wc);
            for (int i = 0; i < m; i++) {
                jobDetail.getJobDataMap().put("ip" + i, ips[i]);
                for (int j = 0; j < n; j++) {
                    jobDetail.getJobDataMap().put("tablename" + j, tablenames[j]);
                }
            }
            //建立触发器,判断何时触发该作业,参数为触发器的名称,触发器分组,作业名称,作业分组,时间设定
            Trigger trigger = new CronTrigger("ReceiverOnTimeTriggerd",
                                              scheduler.DEFAULT_GROUP,
                                              "ReceiveOnTimed",
                                              scheduler.DEFAULT_GROUP, time);
            //将作业和触发器添加到调度器
            scheduler.scheduleJob(jobDetail, trigger);
            //按照设置开始调度
            scheduler.start();
  }catch(Exception e){
   e.printStackTrace();
  }
}
具体作业类的处理:
package com.bodhiya.schsystem.business;

import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.springframework.web.context.WebApplicationContext;

public class ReceiveJobd implements Job{
public void ReceiveJobd(){
}
//作业具体实现的功能
public void execute(JobExecutionContext context) throws
    JobExecutionException {
     try {
          
            //建立JobDataMap对象,用来接收传递的参数
            JobDataMap dataMap = context.getMergedJobDataMap();
            int ipLength = dataMap.getInt("ipLength");
            int tablenameLength = dataMap.getInt("tablenameLength");
            WebApplicationContext wc=(WebApplicationContext)dataMap.get("wcx");
          
            String ip = "";
            String tablename = "";
            for (int i = 0; i < ipLength; i++) {
                ip = dataMap.getString("ip" + i);
                for (int j = 0; j < tablenameLength; j++) {
                    tablename = dataMap.getString("tablename" + j);
                    ExchangeAccess ea=new ExchangeAccess(ip,tablename,wc);
                     //启动线程
                    ea.start();
                }
            }
            Scheduler scheduler = (Scheduler) dataMap.get("scheduler");
            scheduler.deleteJob("ReceiveOnTimed", Scheduler.DEFAULT_GROUP);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
}
}

分享到:
评论

相关推荐

    简单易用的java定时器scheduler,有完整配置说明

    Java定时器,通常被称为Scheduler,是Java开发中用于执行定期任务的重要工具。它允许开发者在特定的时间间隔或者按照预设的计划执行代码,这在处理数据同步、日志清理、发送通知等场景中非常常见。在Java中,我们...

    JAVA定时器JAVA定时器.pdf

    在使用JAVA定时器时,需要注意以下几点: * 在中不能够设置default-lazy-init="true",否则定时任务不触发。 * 在中不能够设置default-autowire="byName"的属性,否则后台会报org.springframework.beans.factory....

    java 定时器 spring 定时器

    Java定时器和Spring定时器是Java开发中用于执行周期性任务的重要工具,它们在系统维护、数据同步、报告生成等场景中发挥着关键作用。本文将深入探讨这两个概念,以及如何在Spring框架中配置和使用定时器。 首先,...

    Java定时器框架(Quartz)

    Java定时器框架Quartz是Java开发中用于任务调度的一个强大工具,它允许开发者精确地控制任务的执行时间,包括一次性任务和周期性任务。Quartz以其灵活性和稳定性,在企业级应用中广泛使用,尤其在需要定期执行后台...

    JAVA定时器时间抓取

    本文将深入探讨Java定时器(Timer)的使用以及如何获取和处理年月日、时间节点等时间相关的信息。 1. **Java定时器(Timer)** Java定时器类`java.util.Timer`提供了调度任务的功能,它可以按照预定的时间间隔执行...

    java定时器结合spring

    Java定时器结合Spring框架可以创建灵活且可扩展的定时任务,这种技术在许多企业级应用中非常常见,用于执行周期性的后台任务,如数据清理、报告生成或服务调用等。下面将详细介绍如何在Spring中集成Java定时器,并...

    Java定时器.pdf

    Java定时器框架主要由`java.util.Timer`和`java.util.TimerTask`组成,这两个类提供了在Java中安排一次性或重复性任务的能力。然而,这个框架存在一定的局限性,例如无法直接处理夏令时变化导致的时间跳跃问题,对于...

    Java后台定时器代码

    Java后台定时器是一种在应用程序运行时执行特定任务的机制,常用于执行周期性的维护操作、数据同步或发送通知等。在Java中,我们可以使用多种方式实现后台定时任务,包括使用`java.util.Timer`类,`java.util....

    JAVA定时器Quartz及使用说明

    Quartz是一款功能强大的开源Java定时框架,用于在Java应用程序中创建和管理计划任务。它允许开发者精确地安排作业,从简单的一次性任务到复杂的调度模式。Quartz 1.5.2是该项目的一个较旧版本,但它仍然包含了实现...

    java的Time、Scheduler定时器

    本文将详细介绍两种常见的Java定时器:`java.util.Timer` 和 `Quartz Scheduler`。 ### 一、Time定时器 `java.util.Timer` 是Java标准库中的一个工具类,用于创建和管理定时任务。它提供了一种简单的方式来安排...

    java Timer定时器实例 Spring实例.doc

    【Java Timer定时器】 在Java中,`java.util.Timer` 类是用于调度任务的类,它可以在特定的时间点或者按照设定的周期执行某项任务。`Timer` 类提供了两种计划任务的方法:`schedule(TimerTask task, long delay)` ...

    Java定时器在Web中的应用.doc

    Java定时器在Web应用中的实现主要涉及到`java.util.Timer`类和`ServletContextListener`接口,它们在Spring、Struts、Hibernate等框架环境下同样适用。本文将详细解释如何使用这两个核心组件来实现在Web环境中定时...

    Java定时器[定义].pdf

    Java定时器是Java标准库中的一个实用工具,用于在特定时间执行预定任务。它主要由`java.util.Timer`和`java.util.TimerTask`类组成,这两个类为开发者提供了简单的时间调度功能。在Java 1.3之前,创建自定义调度程序...

    Quartz 插件类型定时器的使用方法

    本教程将深入探讨如何在Java项目中使用Quartz插件类型定时器。 首先,理解Quartz的核心概念至关重要。Quartz由几个关键组件组成: 1. **Scheduler**:这是Quartz的顶级接口,负责调度Job(工作)和Trigger(触发器...

    quartz+maven,Java定时器

    这个压缩包“quartz_maven”很可能是包含了一个使用Quartz和Maven构建的Java定时器示例项目。 在这个项目中,开发者可能已经配置好了一切必要的设置,包括Maven的pom.xml文件,用于声明项目依赖,特别是对Quartz库...

    java开源定时器Quartz

    在使用Quartz时,开发者首先需要创建作业类,实现`Job`接口,并在`execute()`方法中编写任务逻辑。然后,配置触发器,指定任务的执行时间。最后,通过调度器实例将作业和触发器关联起来,启动调度器。 在压缩包中的...

    java,javaweb,spring定时器

    Java定时器是编程中用于执行特定任务的自动化工具,它允许开发者在预设的时间间隔内运行某些代码。在Java世界里,我们有多种实现定时任务的方式,包括Java内置的`java.util.Timer`类和`java.util.concurrent....

    Scheduler 定时器

    在企业级应用中,例如Java开发,我们可以使用Quartz Scheduler来实现复杂的定时任务管理。 对于"shd.exe"这个文件,根据上下文,很可能是Scheduler相关的可执行程序,可能是一个定制的定时器软件或是任务计划程序的...

    java小定时器(打包的程序以及源程序)

    3. **Spring框架的TaskScheduler**: 如果项目使用了Spring框架,可以利用其提供的`TaskScheduler`接口来安排任务。通过`@EnableScheduling`开启定时任务支持,然后使用`@Scheduled`注解来标记需要定时执行的方法。...

    JAVA获取当前时间以及JAVA_Spring定时器

    Spring定时器(TaskScheduler或ScheduledTasks): 在Spring框架中,我们可以利用`@Scheduled`注解和`TaskScheduler`接口来实现定时任务。`@Scheduled`注解可以直接在方法上,声明该方法为周期性执行的任务。例如: ...

Global site tag (gtag.js) - Google Analytics