`

spring 使用xml配置文件实现quartz作业调度

阅读更多

 spring 使用xml配置文件实现quartz作业调度

 

No0:准备依赖

<dependency>

    <groupId>org.quartz-scheduler</groupId>

    <artifactId>quartz</artifactId>

    <version>1.8.5</version>

</dependency>

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-core</artifactId>

    <version>3.1.2.RELEASE</version>

</dependency>

 

No1:定义业务对象

@Service(value = "gameService")

public class GameServiceImpl implements IGameService{

    /**

     * 打印hello

     */

    public void printHello(){

        System.out.println("hello");

    }

}

 

No2:调度业务

<bean id="musicService_jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

        <property name="targetObject" ref="gameService"/>

        <property name="targetMethod" value="printHello"/>

    </bean>

 

No3: 增加调度触发器

<bean id="cronTrigger" lazy-init="false" class="org.springframework.scheduling.quartz.CronTriggerBean">

        <property name="jobDetail" ref="musicService_jobDetail"/>

        <!--每天15点54分0秒开始,每隔2秒执行一次。-->

        <property name="cronExpression" value="0/2 54/1 15 * * ?"/>

</bean>

 

No3:程执行器配置,用于任务注册

<bean id="executor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">

        <!--核心线程数-->

        <property name="corePoolSize" value="10"/>

        <!--最大线程数-->

        <property name="maxPoolSize" value="100"/>

        <!--队列最大长度-->

        <property name="queueCapacity" value="500"/>

        <!-- 线程池维护线程所允许的空闲时间 -->

        <property name="keepAliveSeconds" value="3600" />

</bean>

 

No4: 设置调度 

<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

        <property name="triggers">

            <list>

                <ref bean="cronTrigger" />

            </list>

        </property>

        <property name="taskExecutor" ref="executor"/>

</bean>

 

No5: 停止作业

CronTriggerBean trigger = (CronTriggerBean) scheduler.getScheduler().getTrigger("cronTrigger", Scheduler.DEFAULT_GROUP);

System.out.println(scheduler.getScheduler().isShutdown());

scheduler.getScheduler().shutdown();

System.out.println(scheduler.getScheduler().isShutdown());

 

分享到:
评论

相关推荐

    spring quartz通过xml配置实现定时任务demo

    本示例将详细讲解如何通过XML配置文件来实现Spring与Quartz的集成,从而构建一个定时任务Demo。 首先,Quartz是开源的作业调度框架,允许应用程序在预定义的时间执行特定的任务。Spring框架则提供了强大的依赖注入...

    Quartz(作业调度)

    在Spring框架中,Quartz可以被集成来实现复杂的定时任务调度。本文将深入探讨Quartz的使用,包括其基本概念、配置、API以及在Web应用中的实际应用。 首先,Quartz的核心概念包括Job(作业)、Trigger(触发器)和...

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    在 Spring 中,Quartz 的配置主要通过 XML 文件来实现。我们可以在 Spring 的配置文件中定义 Quartz 的 bean,以便实现任务的定时执行。 QuartzJob.java 在这个示例中,我们定义了一个 QuartzJob 类,该类实现了...

    spring+quartz任务调度代码版

    通过对这些文件的深入学习和理解,你可以掌握如何在Spring环境中配置和使用Quartz进行任务调度,这对于构建有定时任务需求的应用程序非常有帮助。这个项目提供了实践经验,有助于开发者提升在企业级应用开发中的技能...

    springboot整合quartz定时任务yml文件配置方式

    以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及涉及的Spring Cloud Alibaba、Dubbo和Nacos的相关知识。 首先,我们需要在`pom.xml`中引入相关的依赖。Spring Boot的`spring-boot-...

    Spring+Quartz实现任务调度的小例子

    Spring框架和Quartz是两个广泛使用的工具,它们可以协同工作以实现复杂和灵活的任务调度。本篇文章将深入探讨如何使用Spring与Quartz结合来创建一个任务调度的小例子。 首先,Spring是一个开源的Java企业级应用开发...

    spring 集成quartz 用数据库实现quartz的集群

    Quartz是一款强大的、开放源代码的作业调度框架,它可以灵活地安排和执行任务。而当需要扩展到多节点的集群环境时,使用数据库来存储任务信息成为了一种常见且稳定的方式。 首先,让我们了解Spring如何与Quartz进行...

    Spring整合任务调度框架Quartz

    Spring 整合任务调度框架 Quartz ...Spring 整合任务调度框架 Quartz,可以使用配置文件方式或 Quartz 持久化方式来实现任务调度。开发者可以根据实际情况选择合适的方式,从而提高软件系统的自动化和可靠性。

    spring任务调度(Quartz )

    3. **调度器配置**:`SchedulerFactoryBean`是Spring对Quartz调度器的包装,它管理所有的触发器和任务。在这里,我们将`cron`触发器添加到调度器中,使得任务与触发器关联起来。 接下来,我们看下服务类和服务的...

    Spring中Quartz调度器的使用

    Spring 中 Quartz 调度器的使用是指在 Spring 框架中使用 Quartz 调度器来实现任务调度。Quartz 是一个功能强大且灵活的开源任务调度器,能够满足复杂的任务调度需求。在 Spring 中使用 Quartz 调度器可以将任务调度...

    spring quartz 任务调度

    在Spring中使用Quartz,我们需要引入quartz和spring-quartz依赖,并在Spring配置文件中进行相应的配置。 创建一个Spring Quartz的Demo通常包含以下步骤: 1. 引入依赖:在项目中添加Quartz和Spring对Quartz支持的...

    spring基于task标签和通过xml配置实现任务的区别

    - Spring与Quartz的整合可以通过XML配置或Java配置实现,可以更精细地控制作业(Job)和触发器(Trigger),并且支持集群和持久化。 - 如果需要实现分布式调度、高可用性和更复杂的调度逻辑,Quartz可能是更好的...

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

    在Spring配置文件(如`applicationContext.xml`)中配置Quartz的SchedulerFactoryBean。 ```xml &lt;bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt; ...

    Spring集成Quartz调度框架.pdf

    3. **启动Spring容器**:在应用启动时加载Spring配置文件,并启动Quartz调度器。 通过以上步骤,可以实现一个简单的Spring集成Quartz的定时任务应用。这种集成不仅提高了系统的可扩展性,还简化了作业调度的管理。

    Quartz2.2.1基于Spring注解方式配置Quartz

    总结,通过上述步骤,我们已经成功地使用Spring注解配置了Quartz2.2.1,实现了基于注解的任务调度。这种方式简化了配置,使得任务管理和扩展更加方便。在实际开发中,可以根据项目需求调整触发规则,实现复杂的定时...

    关于spring中quartz的配置

    可以通过`quartz.properties`文件配置Quartz的一些全局参数,比如数据库连接、线程池大小等。例如: ``` org.quartz.scheduler.instanceName = MyScheduler org.quartz.jobStore.class = org.quartz.impl....

    spring集成quartz 任务调度

    5. **调度作业**:在Spring配置文件中,通过标签定义作业和触发器,并通过SchedulerFactoryBean的addJob和scheduleJob方法将它们关联起来。 6. **动态管理**:在Spring的控制层,你可以使用Scheduler的API来控制...

    Spring的定时调度--Quartz

    5. **调度器配置**:在Spring配置文件中,使用`&lt;bean&gt;`标签配置SchedulerFactoryBean,通过属性设置Quartz的配置文件、作业和触发器等。 6. **启动调度**:在Spring应用启动时,调用Scheduler的start()方法启动调度...

    Spring quartz定时调度jar包

    首先,你需要在Spring的配置文件中声明一个`SchedulerFactoryBean`,这将初始化并管理Quartz调度器。然后,你可以定义`JobDetail`和`Trigger`,`JobDetail`代表你要执行的任务,而`Trigger`定义了任务的执行时机。...

    Spring下使用Quartz任务调度

    最后,我们可以通过Spring Boot的`application.properties`或`application.yml`配置文件,进一步调整Quartz的设置,比如数据库连接、作业存储策略等。 在“ReportQuartzTask”这个例子中,可能是关于生成报告的定时...

Global site tag (gtag.js) - Google Analytics