想用quartz做一个定时任务,定时任务都持久化到mysql数据库,
每次添加任务以后,数据库里面有数据,但任务没有执行(我设置的是马上执行),TRIGGER_STATE就变为ERROR.
<bean id="scheduler" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="dataSource">
<ref bean="scheduleDataSource" />
</property>
<property name="autoStartup" value="true" />
<property name="schedulerFactoryClass" value="org.quartz.impl.StdSchedulerFactory"></property>
<property name="configLocation" value="classpath:quartz.properties" />
<property name="schedulerName" value="cronScheduler" />
问题补充:#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = EvanLilyScheduler
org.quartz.scheduler.instanceId = AUTO
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 25
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
# 不同数据库系统中某一特定方言的驱动代理mysql
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties=false
org.quartz.jobStore.dataSource=DS
#是否集群
org.quartz.jobStore.isClustered=false
#============================================================================
# Configure Datasources
#============================================================================
#mysql
org.quartz.dataSource.DS.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.DS.URL = jdbc:mysql://localhost:3306/schedul
org.quartz.dataSource.DS.user = root
org.quartz.dataSource.DS.password =
org.quartz.dataSource.DS.maxConnections = 5
org.quartz.scheduler.classLoadHelper.class=org.quartz.simpl.CascadingClassLoadHelper
问题补充:JobDetail jobDetail = newJob(HttpJobExecutor.class)
.withIdentity(httpJob.getJobName(), HttpJobDO.JOB_GROUP)
.withDescription(httpJob.getDescription())
.storeDurably(true)//没有trigger关联时自动删除
.requestRecovery()//失败后重做
.build();
TriggerBuilder<Trigger> triggerBuilder = newTrigger()
.withIdentity(httpJob.getJobName())
.endAt(httpJob.getEndTime());
triggerBuilder.startNow();
CronScheduleBuilder cronScheduleBuilder = cronSchedule(httpJob.getCronExpression());
triggerBuilder.withSchedule(cronScheduleBuilder);
Trigger trigger = triggerBuilder.build();
scheduler.scheduleJob(jobDetail, trigger);
相关推荐
Quartz集群需要将所有调度信息(如Job、Trigger)存储在一个共享的持久化存储中,以便所有集群节点都能访问。这通常通过实现`ISchedulerFactory`接口的`StdSchedulerFactory`类和数据库连接来完成。数据库可以选择...
在使用"quartz-2.1.7.jar"时,开发者需要将其引入到项目类路径中,并通过`Scheduler`实例来配置和启动调度器。配置通常涉及设置数据源、作业存储、触发器工厂等。一旦设置完毕,就可以创建作业并关联触发器,然后让...
在2.1.7版本中,Quartz提供了丰富的API和功能,使得开发者可以方便地创建、管理和执行定时任务。以下是对Quartz 2.1.7版的详细解释: 一、Quartz简介 Quartz是一个完全由Java编写的作业调度库,它设计用于作为嵌入...
Quartz是Java领域一个广泛应用的开源任务调度框架,它的版本为2.1.7。这个官方jar包包含了Quartz的核心库,使得开发者可以方便地在自己的应用中集成定时任务的管理功能。Quartz的设计目标是提供一个灵活、可扩展的...
Quartz是一款广泛使用的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Quartz中,任务和触发器的配置信息是通过数据库存储的,这使得任务调度具有高可用性和可扩展性。这里我们将详细探讨...
quartz,2.1.7的jar包,看到其他资源最低三分才想上传的,但是居然最低也得选2分
Quartz是Java领域中广泛应用的一款开源任务调度框架,它的版本号为2.1.7,以其稳定性和灵活性受到开发者的青睐。在这个版本中,Quartz提供了丰富的功能,用于创建、调度和执行各种类型的任务,使得开发者可以轻松地...
首先,Quartz的核心概念包括Job(作业)、Trigger(触发器)和Scheduler(调度器)。Job代表了要执行的任务,它是用户自定义的Java类,实现了`org.quartz.Job`接口。Trigger则定义了Job的执行时机,可以按照时间间隔...
Quartz 2.1.7 是一个广泛应用的开源任务调度框架,它允许开发者安排和执行周期性的任务。这个版本的 Quartz 提供了稳定的定时任务管理功能,能够与 Java 应用程序无缝集成,使得开发者无需关注底层调度细节,就能...
Quartz是一个开源的作业调度框架,它为Java应用程序提供了强大的定时和计划任务功能。Quartz API是这个框架的核心,使得开发者能够轻松地在应用中安排和执行任务。Quartz 1.6.3是该API的一个版本,它包含了对之前...
本人译作,在先前那个 Quartz Job Scheduling Framework_V0.9.5.CHM 文件的基础上做成的 PDF 文件,方便大家阅读。 请到 http://download.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 ...
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,...
quartz-1.6.6_tables_mysql.sql,供quartz用户创建12个表用。可直接执行sql脚本。
Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。 Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的...
6. **持久化机制**:Quartz支持数据库持久化,即使在服务器重启后也能恢复调度信息,确保任务不丢失。 7. **集群支持**:Quartz能够部署在多台服务器上,形成集群,当一台服务器故障时,任务会自动转移到其他服务器...
Quartz 是一个开源的作业调度框架,常用于Java应用程序中,以实现定时任务的执行。它的核心功能是根据预定义的调度规则启动和停止作业。Quartz 2.3.0 版本提供了对多种数据库的支持,包括Oracle、MySQL、DB2等。这个...
2. **可持久化**:Quartz 支持将调度信息存储在数据库中,确保服务器重启后仍能恢复之前的调度状态。 3. **集群支持**:Quartz 可以在多台服务器上部署,形成集群,保证高可用性和容错性。如果一台服务器故障,其他...
Quartz框架的核心是作业(Job)和触发器(Trigger)。作业表示在Quartz框架中要执行的一个具体任务,通常是一个Java类,这个类需要实现Job接口。触发器用来定义作业的调度计划,告诉Quartz何时执行这个作业。一个...