Java 基于quartz实现定时 之二(XML方式配置)

<!-- 在spring核心配置文件中进行如下配置 -->    

<!-- Spring基于quartz定时任务 -->
    <bean id="triggerByBeanTwo" class="cn.zr.pringmvctest.trigger.TriggerByBeanTwo"></bean>
    <!-- jobDetail -->
    <bean id="triggerByBeanTwoJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 要调用的任务目标对象 -->
        <property name="targetObject" ref="triggerByBeanTwo" />
        <!-- 需要调用的任务目标对象对应方法 -->
        <property name="targetMethod" value="simpleMission" />
         <!--
            是否支持并发
                false比如一个定时任务尚未结束的时候,不能再次执行,必须等它执行完毕才能执行
                true和上面相反
        -->
        <property name="concurrent" value="false" />
    </bean>

    <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
        <!-- jobDetail,触发器需要执行的任务调度 -->
        <property name="jobDetail" ref="triggerByBeanTwoJob" />
        <!-- startDelay容器启动后延迟10秒 -->
        <property name="startDelay" value="1000" />
        <!-- 重复执行方法的周期 -->
        <property name="repeatInterval" value="5000" />
    </bean>

    <!-- Spring基于quartz定时任务 -->
    <bean id="triggerByBean" class="cn.zr.pringmvctest.trigger.TriggerByBean"></bean>
    <!-- jobDetail -->
    <bean id="triggerJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
       <!-- 要调用的任务目标对象 -->
       <property name="targetObject" ref="triggerByBean" />
       <!-- 需要调用的任务目标对象对应方法 -->
       <property name="targetMethod" value="triggerAction" />
       <!--
            是否支持并发
                false比如一个定时任务尚未结束的时候,不能再次执行,必须等它执行完毕才能执行
                true和上面相反
        -->
       <property name="concurrent" value="false" />
    </bean>
    <!-- 定义一个触发器 -->
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <!-- jobDetail,触发器需要执行的任务调度 -->
        <property name="jobDetail" ref="triggerJob" />
        <!-- 时间表达式 -->
        <property name="cronExpression" value="0 0-55 20 * * ?" />
        <!-- startDelay容器启动后延迟10秒 -->
        <property name="startDelay" value="1000" />
    </bean>
    <!-- 触发链 -->
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="cronTrigger" />
            <ref bean="simpleTrigger" />
        </list>
    </property>
    
package cn.zr.pringmvctest.trigger;

public class TriggerByBean {

    public void triggerAction() {
        System.out.println("定时执行该方法");
    }
}
package cn.zr.pringmvctest.trigger;

public class TriggerByBeanTwo {

    public void simpleMission() {
        System.out.println("定时器,执行相应任务......");
    }
}
时间: 2024-10-01 03:13:21

Java 基于quartz实现定时 之二(XML方式配置)的相关文章

Spring学习(五)bean装配详解之 【XML方式配置】

本文借鉴:Spring学习(特此感谢!) 一.配置Bean的方式及选择 配置方式 在 XML 文件中显式配置 在 Java 的接口和类中实现配置 隐式 Bean 的发现机制和自动装配原则 方式选择的原则 最优先:通过隐式 Bean 的发现机制和自动装配的原则. 基于约定优于配置的原则,这种方式应该是最优先的 好处:减少程序开发者的决定权,简单又不失灵活. 其次:Java 接口和类中配置实现配置 在没有办法使用自动装配原则的情况下应该优先考虑此类方法 好处:避免 XML 配置的泛滥,也更为容易.

跟着刚哥学习Spring框架--通过XML方式配置Bean(三)

Spring配置Bean有两种形式(XML和注解) 今天我们学习通过XML方式配置Bean 1. Bean的配置方式 通过全类名(反射)的方式   √ id:标识容器中的bean.id唯一. √ class:bean的全类名,通过反射的方式在IOC容器中创建Bean,所以要求Bean中必须有无参的构造器 2.依赖注入的方式 1)属性注入:通过setter方法注入Bean的属性值或依赖的对象 属性注入使用<Property>元素,使用name指定Bean的属性名称,使用value指定Bean的属

Quartz.NET学习系列(九)--- XML任务配置

Quartz.NET除了可以代码定义触发器.任务之外,还可以由XML定义这两个对象.其实Quartz.NET的理想架构是:计划管理容器作为服务器运行在服务机上,而触发器.任务的添加可通过自定义任务管理软件向服务器上添加特定的任务计划. 这时就要求数据的持久化以及服务器的容错性了,后面几篇文章将会介绍持久化以及集群相关内容. VS的XML只能提示 第一篇已经将Quartz.NET下载过来了,在路径doc/xml/文件加下可以找到job_scheduling_data_2_0.xsd vs的智能提示

SpringBoot填坑系列---XML方式配置数据库

本次只是简单的运用SpringBoot搭建框架,对其原理并不做深入的探究 1.POM文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaL

在spring的配置中,基于注解方式是否比xml方式配置更好?——翻译

简短的回答就是“看情况了”.长篇大论来说(辩证的看待),每种方式都有利弊,通常来说,这取决于开发者选择最适合他们的策略.由于注解的定义方式,在其声明中提供了大量上下文,从而导致更短更简洁的配置.但是,XML的方式优势在于连接组件时解耦源代码或无需重新编译.一些开发人员更喜欢将配置连接靠近源头,而另一些则认为注释类不再是POJO,而且配置变得分散且难以控制. 不管是哪种方式,spring可以兼容两种风格并且混合使用都可以.值得提出的是,通过其JavaConfig选项,Spring允许以非侵入方式使

dubbo学习(二)配置dubbo XML方式配置

provider <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframewo

基于Quartz实现简单的定时发送邮件

一.什么是Quartz Quartz 是一个轻量级任务调度框架,只需要做些简单的配置就可以使用:它可以支持持久化的任务存储,即使是任务中断或服务重启后,仍可以继续运行.Quartz既可以做为独立的应用提供服务,也可以和其他应用集成一起使用. 核心概念: 1.Job 表示一个工作,要执行的具体内容.此接口中只有一个方法 void execute(JobExecutionContext context) 2.JobDetail JobDetail表示一个具体的可执行的调度程序,Job是这个可执行程调

java 多线程——quartz 定时调度的例子

java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 java 多线程—— 线程等待与唤醒 概述 第1部分 配置 第2部分 代码示例 第1部分 配置 有关quartz的api文档地址:Quartz Enterprise Job Scheduler 1.8.6 API 主要接口目录: 重点看下Job,Scheduler,Trigger,JobDetai

spring 基于quartz框架实现定时周期执行

Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度.本系统结合通过 Spring 来集成 Quartz . 别忘了spring中的jar包哦 quartz-all.zip 项目中使用到 在网上收集整理了一番 package com.task.quartz; import java.text.SimpleDateFormat; import java.u