`

spring 中的定时任务设定 示例

阅读更多
  1.首先配置好Spring环境,加入定时任务的配置文件,如下:

  <?xml version="1.0" encoding="GB2312"?>

  <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

  <beans>

  <!-- Configure the sync Service -->

  <bean name="randomSyncJob"

  class="org.springframework.scheduling.quartz.JobDetailBean">

  <property name="jobClass">

  <value>com.iman.wrms.webservice.sync.task.QuartzSyncJob</value>

  </property>

  <property name="jobDataAsMap">

  <map>

  <entry key="timeout">

  <value>5</value>

  </entry>

  </map>

  </property>

  </bean>

  <!-- 配置触发器 -->

  <bean id="cronTrigger"

  class="org.springframework.scheduling.quartz.CronTriggerBean">

  <property name="jobDetail">

  <ref bean="randomSyncJob" />

  </property>

  <!-- 每天0点0分,触发RandomPriceJob,具体说明见附录 -->

  <property name="cronExpression">

  <value>0 0 0 * * ?</value>

  </property>

  </bean>

  <bean autowire="no"

  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

  <!-- 添加触发器 -->

  <property name="triggers">

  <list>

  <ref local="cronTrigger" />

  </list>

  </property>

  </bean>

  </beans>

  2.编写实现任务的处理代码

  package com.iman.wrms.webservice.sync.task;

  import org.apache.log4j.Logger;

  import org.quartz.JobExecutionContext;

  import org.quartz.JobExecutionException;

  import org.springframework.scheduling.quartz.QuartzJobBean;

  import com.zhengxin.wrm.opm.dbutil.JdbcWrmDelegate;

  /**

  * @author:Jakemanse

  * @time :2008-1-25

  *

  description : 定时同步EOMS组织处理类

  *

  */

  public class QuartzSyncJob extends QuartzJobBean {

  private final Logger logger = Logger.getLogger(getClass());

  /**

  * 执行任务

  */

  protected void executeInternal(JobExecutionContext context)

  throws JobExecutionException {

  logger.info("---------------Job start---------------------");

  JdbcWrmDelegate jdbcDelegate;

  try{

  jdbcDelegate = new JdbcWrmDelegate();

  // 执行具体操作

  logger.info("正在同步机构信息.....");

  jdbcDelegate.SyncOpmOrganInfo();//同步机构信息 success

  logger.info("正在同步用户信息.....");

  jdbcDelegate.SyncOpmUserInfo();//同步用户信息 success

  // jdbcDelegate.SyncOpmJobInfo();// 同步job信息 success

  // jdbcDelegate.SyncOpmRoleInfo();//同步Role信息

  logger.info("正在执行本系统的同步存储过程.....");

  // jdbcDelegate.ExecutePro(); //执行存储过程

  logger.info("所有同步信息执行完毕.");

  }catch(Exception e){

  logger.error("机构或用户信息同步过程中出错:"+e.getCause());

  e.printStackTrace();

  }

  }

  }

  实现定时功能,编写自己的类,需要继承Spring 提供的

  import org.springframework.scheduling.quartz.QuartzJobBean;

  然后 覆盖该类的

  protected void executeInternal(JobExecutionContext context)

  throws JobExecutionException ; 方法,所有定时任务实现,都在这个方法里就可以了。
分享到:
评论

相关推荐

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

    在代码示例中,SpringQuartzDemo可能包含了以下部分: 1. `Job`类:实现了`org.quartz.Job`接口,包含实际要执行的任务逻辑。 2. `JobDetail`配置:定义了Job的名称、组名和执行类。 3. `Trigger`配置:设置了触发...

    spring中邮件及定时任务

    关于压缩包中的文件"spring_扩展_邮件及定时任务_2",它很可能包含了示例代码或者配置文件,用于演示如何在Spring项目中实现邮件发送和定时任务。这些文件可能包括了Java源代码、XML配置文件或者YAML配置文件,你...

    关于 spring 里的定时任务设置

    在上述示例中,我们看到了如何使用Spring结合Java Timer API来创建定时任务。首先,自定义了一个`SayHelloTask`类,继承自`TimerTask`,并在`run()`方法中定义了具体要执行的任务。例如,输出一句"测试 TimerTask : ...

    spring定时任务demo包含jar包

    通过理解并实践这个示例,你可以更好地掌握Spring定时任务的使用,将其应用到实际的项目开发中,实现自动化任务,如数据备份、统计分析等。记得在生产环境中考虑任务的并发性和资源管理,以确保系统的稳定性和性能。

    java定时任务的实现方式

    在示例中,首先创建一个名为`SavaLog`的类,其中包含一个名为`savaLog`的方法,这个方法将被定时调用。接着,在Spring配置文件中声明一个JobDetail bean,指定任务类和执行方法。同时,创建一个Trigger bean来定义...

    Spring Quartz定时作业

    Spring Quartz是一款广泛应用于Java环境下的任务调度框架,它与Spring框架深度集成,使得在Spring应用中配置和管理定时任务变得非常便捷。本项目提供了一套完整的Spring Quartz定时作业的实现,包括任务、触发器和...

    spring定时发送邮件

    在本项目中,我们关注的是Spring的一个特定功能——定时任务,以及如何结合这个功能来实现邮件的自动发送。这涉及到Spring的两大模块:Spring Task(Spring的定时任务模块)和Spring Mail(用于发送邮件的模块)。 ...

    Spring的定时容器案例

    在Spring框架中,定时任务是通过Spring的定时容器(Spring Task)实现的,它提供了一种灵活、可扩展的方式来执行周期性的任务。Spring Task也被称为Spring的调度器,它可以让我们在应用程序中添加定时任务,无需依赖...

    spring quartz 整合示例

    这个压缩包文件提供了一个实际的示例,用于演示如何在Spring应用中集成Quartz进行任务调度。下面将详细解释其中涉及的知识点。 首先,Quartz是一个开源的作业调度框架,它允许开发者创建、调度和管理重复的任务。在...

    Quartz+Spring定时触发器例子

    在本示例中,“Quartz+Spring定时触发器例子”是一个完整的项目,包含了所有必要的jar包,这意味着你可以直接运行它来学习和理解Quartz与Spring的集成。这个项目应该包含以下组件: 1. **配置文件**:可能包含一个...

    页面控制定时任务源码

    在提供的文件名`TestThread`中,我们可以推测这可能是一个关于线程测试的文件,可能包含如何在多线程环境下实现定时任务的示例。在Java中,可以使用`Thread.sleep()`方法来模拟延时,或者使用`...

    java写定时任务,定时任务、定时器详细示例.pdf

    虽然`Timer`和`TimerTask`满足了基础的定时需求,但在复杂场景下,如需要更精确的控制、任务间的依赖等,可以考虑使用Quartz或Spring框架的定时任务支持,它们提供了更强大的功能和更灵活的配置。 总的来说,Java的...

    动态定时任务demo.rar

    在IT行业中,定时任务是许多应用和服务不可或缺的一部分,它们用于执行特定时间或间隔的自动操作。本示例“动态定时任务demo”是一个基于SpringBoot框架构建的项目,它提供了对定时任务的动态管理功能,包括修改执行...

    任务计划+批处理实现Oracle数据库的定时备份

    在IT行业中,数据库管理是一项至关重要的任务,尤其是对于企业级应用而言。Oracle数据库作为全球广泛使用的数据库管理系统之一,其稳定性和安全性备受赞誉。为了确保数据的安全,定期备份是必要的操作。本文将详细...

    定时任务完整案例 Java quartz

    【描述】中的"完整的定时任务案例,导入Eclipse或者MyEclipse即可使用"意味着这个压缩包包含了一个可以运行的示例项目,开发者可以通过导入到Eclipse或MyEclipse这样的IDE中快速理解和学习如何设置和运行Quartz定时...

    xml方式定时任务

    在Java领域,最常用的定时任务框架是Quartz和Spring的Task调度器,它们都可以通过XML配置文件来设定任务的执行计划。 ### Quartz XML配置 Quartz是一个强大的、完全开源的作业调度框架,它支持复杂的时间表和任务...

    定时执行任务例子 绝对好用

    通过上述方式,我们可以构建一个Java Web应用中的定时任务管理系统,该系统可以根据配置文件设定的每天特定时间执行指定的任务。这在需要定期执行数据库维护、数据同步、发送通知等场景中非常实用。同时,注意异常...

    java定时任务quartz的基本实现

    Java定时任务在软件开发中扮演着重要角色,它允许开发者安排任务在特定时间执行,而无需持续监控。Quartz是Java领域中一个广泛使用的开源任务调度框架,它提供了丰富的功能来满足各种定时任务的需求。本篇文章将深入...

    定时任务相关技术实操-timed-task-practice.zip

    1. **Cron (Unix/Linux)**:Unix/Linux系统中的经典定时任务调度器,通过配置crontab文件来设定任务的执行计划。 2. **Windows Task Scheduler (Windows)**:Windows系统自带的任务计划程序,可以创建、编辑和管理...

    spring定时非常详细,有例子,超具体,需要的下载

    Spring定时任务主要依赖于`Spring Task`模块,它提供了`@Scheduled`注解和`TaskScheduler`接口,可以方便地在Spring应用中创建定时任务。以下是对这些关键概念的深入解析: 1. **@Scheduled注解**: `@Scheduled`...

Global site tag (gtag.js) - Google Analytics