`
cjc
  • 浏览: 683809 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

quartz无法启动的原因

阅读更多

quartz无法启动的原因

场景:spring集成quartz,在spring配置文件中配置quartz相关参数。

在以往的工作中,quartz经常无法启动,今天就根据以前经验,总结一下,供大家参考。

一.ID冲突

quartz的两个基本单元是Job和Trigger,它们在内存中分别以jobName+groupName和triggerName+GrupName唯一标识,如果两个job的名字和群组都相同,则必然会有一个job无法启动。

二.default-lazy-init="true"

若在spring配置文件中配置了quartz相关参数,则不能够设置default-lazy-init="true",否则定时任务不会触发;若工程有多个spring配置文件,则只需当前配置quartz的文件不设置default-lazy-init="true"即可。

三.default-autowire="byName"
若在spring配置文件中配置了quartz相关参数,则不能够设置default-autowire="byName"属性,否则后台会报Table 'database.qrtz_locks' doesn't exist异常,这是因为若使用了autowire,spring集成quartz,会默认使用数据库存储job状态(而不是存储在内存中),spring会自动将dataSource(hibernate配置的数据库)配置为quartz存储数据库,而我们的数据库中又没有quartz所需的数据表,因此就会报出如上异常;若工程有多个spring配置文件,则只需当前配置quartz的文件不设置default-autowire="byName"即可。

分享到:
评论

相关推荐

    quartz 随tomcat启动执行一次

    ### 关于 Quartz 随 Tomcat 启动执行一次的知识点 #### 1. Quartz 概述 Quartz 是一个开源的作业调度框架,能够触发在指定时间执行的任务(也称为作业)。它提供了丰富的调度器功能,如支持复杂的循环调度、支持...

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

    4. **启动和停止定时器**:在Spring应用启动时,由于配置了`autoStartup="true"`,Quartz定时器会自动启动。若需手动控制,可以使用ApplicationContext获取Scheduler实例并调用其`start()`或`standby()`方法来启动或...

    spring注解Quartz定时执行功能

    在Spring框架中集成Quartz库...当Spring应用启动时,Quartz调度器会自动启动并按照预定的计划执行任务。在实际开发中,你可以根据需求调整定时任务的执行周期、并发控制和数据持久化策略,以满足复杂的定时任务需求。

    quartz-2.2.3版本的quartz初始化sql语句

    这一步通常是通过配置Quartz的`SchedulerFactoryBean`在Spring框架中完成的,或者在程序启动时手动执行。 对于更复杂的场景,比如需要支持集群或高可用性,可能还需要额外的表和设置。例如,`QRTZ_SCHEDULER_STATE`...

    quartz实例,quartz入门例子

    6. **启动Scheduler**:在应用启动时,调用Scheduler的start()方法开始调度。 在这个Quartz入门例子中,可能包含了一个名为`QuarzTest`的类或配置文件,它是实际运行的入口。通过分析和运行这个例子,你可以了解到...

    Android studio下的quartz工程

    - **生命周期管理**:确保在应用启动时启动调度器,并在退出时关闭,以防止内存泄漏。 - **权限申请**:如果任务涉及网络、存储等操作,记得申请相应的权限。 - **测试与调试**:在开发环境中,可能需要频繁调整触发...

    Quartz 定时WebForm和WinForm使用的dll

    不过,要注意在Web环境中,由于IIS可能会回收应用程序池,可能导致Quartz无法正常工作,这时可能需要使用如Quartz.NET的Windows服务宿主或其他持久化调度策略来确保任务的稳定性。 总之,Quartz定时功能在WebForm和...

    关于spring中quartz的配置

    在Spring框架中集成Quartz是一款常见的任务调度解决方案,它允许开发者在应用中安排定时任务的执行。Quartz是一个开源的作业调度框架,可以用来在Java应用程序中安排复杂的作业任务。以下将详细介绍如何在Spring中...

    quartz和spring-quartz

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

    Quartz所需jar包

    6. **启动Scheduler**:最后,调用`Scheduler.start()`启动调度器,使其开始监控和执行任务。 7. **监控和管理**:Quartz提供了丰富的API和接口,可以用来查看当前的调度状态、暂停、恢复或删除任务。 在《Quartz...

    Quartz 线程池

    1. **初始化线程池**:在应用启动时,Quartz 会根据配置信息创建线程池。线程池大小可以根据系统的负载和需求进行调整,以平衡资源利用率和响应速度。 2. **任务分配**:当一个 Trigger 触发时,调度器会从线程池中...

    Quartz调度、终止执行的任务

    Quartz是一款开源的作业调度框架,它允许开发者创建和安排任务执行。在Java应用程序中,Quartz能够帮助我们在特定的时间点或按照预设的周期执行某些功能,如数据收集、日志清理等。当我们需要终止某个正在运行的任务...

    Quartz

    - 将JobDetail和Trigger添加到Scheduler中,并启动Scheduler: ```java scheduler.scheduleJob(job, trigger); scheduler.start(); ``` #### 五、Quartz的高级特性 除了基本的定时任务调度之外,Quartz还提供...

    Quartz.net-定时任务 Demo

    在"WebApplication1"项目中,你可以找到一个ASP.NET Web应用程序的示例,它演示了如何在Web环境下集成Quartz.NET,以及如何配置、启动和管理定时任务。通过查看项目源代码,你可以学习到更多关于Quartz.NET实际应用...

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

    5. **启动Quartz** 在Spring Boot应用中,`@EnableScheduling`会自动启动调度器。如果你是在非Spring Boot项目中,需要在主类或配置类中手动启动调度器: ```java public class Application { public static ...

    quartz-2.2.3.zip

    3. **调度器(Scheduler)**:调度器是Quartz的核心,它负责管理所有的作业和触发器,并根据触发器的规定在合适的时间启动作业。 4. **持久化(Persistence)**:Quartz支持将作业和触发器的配置信息存储在数据库中,...

    quartz实例sqlserver数据库连接

    6. **启动Scheduler**:在代码中,你需要创建并启动Scheduler实例,通常在应用程序启动时完成。这里会使用配置文件中的设置来初始化Scheduler。 ```csharp IScheduler scheduler = StdSchedulerFactory....

    深入解读Quartz的原理

    4. **启动和关闭 Scheduler**:最后,调用 `Scheduler` 的 `start()` 方法来启动调度器。如果需要,在某个时刻还可以通过调用 `shutdown()` 方法来关闭调度器。 #### 四、示例代码分析 下面是一个简单的 Quartz ...

    quartz-1.6.0.jar和quartz-all-1.6.0.jar

    通过Spring的`SchedulerFactoryBean`,可以轻松地在Spring应用上下文中启动和停止Quartz调度器,同时Spring还支持声明式的方式定义Job和Trigger,使得配置更加简洁。 在实际应用中,定时任务通常用于执行后台数据...

    quartz.jar包下载

    5. **启动Scheduler**:最后,启动`Scheduler`,让其开始工作。 在描述中提到的cron过程,是CronTrigger的使用,它允许你按照Cron表达式的时间格式(如"0 0 * * * ?"表示每天的整点)来调度任务。CronTrigger提供了...

Global site tag (gtag.js) - Google Analytics