怒了,spring对quartz的集成偏与我作对...

按spring的文档写了个最简单的quatz应用,竟然一直报错说:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.scheduling.quartz.SchedulerFactoryBean' defined in class path resource [applicationContext-rules.xml]: Invocation of init method failed; nested exception is org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Table 'cs.qrtz_locks' doesn't exist [See nested exception: java.sql.SQLException: Table 'cs.qrtz_locks' doesn't exist]]
查论坛得到如下信息:
[quote="dwangel"]另外可能是自动装配惹得祸,存在dataSource这个bean就自动用数据库的状态维持了。[/quote]
[quote="dwangel"][quote="foxty"]因为这个时候你的quartz是jobstore用的HDBCJobStore模式,此时会从数据库查询任务。

你如果只是测试的话,可以在你的classpath下加一个文件quartz.properties,并且加上一句org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore 。就会采取内存存储的模式了。[/quote]
或者可以直接在spring配置中做:

<bean name="quartzScheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
<property name="quartzProperties">
<props>
<prop key="org.quartz.jobStore.class">
org.quartz.simpl.RAMJobStore
</prop>
</props>
</property>
</bean>[/quote]
autowire真是一个万恶的家伙,出了错让你完全不知道怎么回事. 这个问题整了我一个下午,怒了. :twisted:
设置org.quartz.jobStore.class为org.quartz.simpl.RAMJobStore也是没有用的.
因为
[code]
if (this.dataSource != null) {
mergedProps.put(StdSchedulerFactory.PROP_JOB_STORE_CLASS, LocalDataSourceJobStore.class.getName());
}
[/code]
SchedulerFactoryBean的setDataSource(DataSource)方法javadoc说:
Set the default DataSource to be used by the Scheduler. If set, this will override corresponding settings in Quartz properties.

Note: If this is set, the Quartz settings should not define a job store "dataSource" to avoid meaningless double configuration.

A Spring-specific subclass of Quartz' JobStoreCMT will be used. It is therefore strongly recommended to perform all operations on the Scheduler within Spring-managed (or plain JTA) transactions. Else, database locking will not properly work and might even break (e.g. if trying to obtain a lock on Oracle without a transaction).

Supports both transactional and non-transactional DataSource access. With a non-XA DataSource and local Spring transactions, a single DataSource argument is sufficient. In case of an XA DataSource and global JTA transactions, SchedulerFactoryBean's "nonTransactionalDataSource" property should be set, passing in a non-XA DataSource that will not participate in global transactions.

See Also:
setNonTransactionalDataSource
setQuartzProperties
setTransactionManager
LocalDataSourceJobStore
Quartz与Spring集成——启动调度器 在《Quartz与Spring集成——创建调度器》一文中介绍了调度器的创建过程,本文将分析其调度器的启动过程。 阅读详情

相关推荐

Spring Boot与Quartz定时任务集成:深入指南

Quartz是一个开源的任务调度框架,用于在Java应用程序中创建、管理和调度定时任务。它支持简单的任务调度,如固定频率执行,也支持复杂的Cron表达式调度。

2401_85439108的博客 1438

spring创建定时任务

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http:/.

只为成功找方法 不为失败找借口 927

全面掌握Quartz定时器的Spring集成与配置

本文还有配套的精品资源,点击获取 简介:Quartz是一个功能全面的Java任务调度库,尤其适用于大型分布式系统。本文将详细指导如何在Spring框架中配置和使用Quartz定时器,涵盖从基础知识到高级配置的整个过程。读者将学习到Quartz的核心概念、Spring与Quartz的集成方式、Job和Trigger的配置、以及如何使用cron表达式设定任务执行时间。此外,本文...

weixin_42360846的博客 1933

两个quartz访问同一数据库_spring-boot-2.0.3之quartz集成,数据源问题,源码探究

前言开心一刻着火了,他报警说:119吗,我家发生火灾了。119问:在哪里?他说:在我家。119问:具体点。他说:在我家的厨房里。119问:我说你现在的位置。他说:我趴在桌子底下。119:我们怎样才能到你家?他说:你们不是有消防车吗?119说:烧死你个傻B算了。前情回顾上篇博客中,讲到了springboot与quartz的集成,非常简单,pow.xml中引入spring-boot-starter-q...

weixin_39922374的博客 732

数学建模小白必看:层次分析法(AHP)从入门到实战(附Python代码)

本文详细介绍了层次分析法(AHP)在数学建模竞赛中的应用,从构建判断矩阵到一致性检验,再到权重计算和实战案例。通过Python代码实现,帮助小白快速掌握AHP的核心技巧,解决评价类难题,提升建模效率。

web39explorer的博客 920

GCdepth散点图绘制

基因组组装完成后,需要对组装结果进行评估,其中GC_depth图是一个比较重要的指标,改图的横坐标是GC含量,纵坐标是平均深度。以30k为窗口(window)无overlap计算其GC含量和平均深度。如果存在样品污染,通常能够从GC含量分析中呈现出来。下文探索了几种绘制GC_depth散点图的方法思路。

huangliangbo的专栏 8993

mysql出现Table doesn’t exist when using LOCK TABLES的情况

今天在mysql备份的时候除了一个错误:   mysqldump: Got error: 1146: Table 'chj-goods-db.t_basegoods' doesn't exist when using LOCK TABLES   在表里面找不到该表,后来google了一下是该表删了,但是mysql的表文件还在   解决办法,直接删除t_basegoods.frm文

赶路人儿 8986

告别手动复制粘贴!用Python脚本+pywinauto实现PC微信消息自动发送(附完整源码)

本文详细介绍了如何利用Python和pywinauto实现PC微信消息的自动化发送,告别繁琐的手动操作。从环境搭建、UI控件定位到构建健壮的发送流程,再到高级功能扩展和项目打包部署,全面解析了自动化办公的实现方案,显著提升工作效率。

weixin_30315723的博客 585

4-Quartz与Spring Boot的集成

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。负责执行相关任务触发器Trigger负责指定相关Job的执行时间,执行间隔,运行次数负责将将指定的触发器应用到指定的任务中

qq_35752835的博客 925

sid图像数据_遥感影像数据

影像数据基本概念影像数据是由卫星或飞机上的成像系统获得的影像,多为遥感影像数据。影像数据的每个像元都有一个值,表示传感器探测到像素对应地面面积上目标物的电磁辐射强度,也叫亮度值、灰度值。SuperMap支持的影像数据格式有:*.img、*.tif、*.tiff、*.bmp、*.jpg、*.png、*.gif、*.raw、*.sid等。计算机以二进制记录数据,所以其量化的等级以二进制来划分,即2n。...

weixin_39534395的博客 1627

基于RAG(Retrieval Augmented Generation)架构的简单问答系统的Python实现示例

以下是一个基于RAG(Retrieval Augmented Generation)架构的简单问答系统的Python实现示例。这个系统使用langchain库进行文档处理、检索,以及与大语言模型交互。

max500600的博客 743

Quartz与Spring集成—— SchedulerFactoryBean的初始化分析

分享知识 传递快乐 前言 Quartz是一个开源的定时调度框架,支持集群部署。我们可以通过其Java API来使用它,或者通过Spring来配置与管理,也可以结合使用两种方式。本文重点分析Quartz2.2.3与Spring4.3.0.RELEASE集成时的初始化过程。 SchedulerFactoryBean与Spring集成时通常需要在Spring配置文件中加入SchedulerF...

旷野历程 5881

农业生产AI决策系统架构设计解密:数据层-模型层-应用层核心逻辑

想象一下,在一个炎热的夏日,传统农田里的农民伯伯正满头大汗地检查每一株玉米是否缺水;而几公里外的智慧农场里,一位年轻农民正在空调房里滑动手机屏幕,看着AI系统自动生成的灌溉计划——这就是农业生产AI决策系统带来的改变。本文的目的,就是要揭开这个"智能农业大脑"的面纱,详细讲解它的"身体构造"(架构设计)和"工作原理"(核心逻辑)。我们将聚焦系统最核心的三个部分:数据层(收集农田信息)、模型层(分析信息并思考决策)和应用层(将决策告诉农民)。

AI智能探索者的博客 1327

spring集成Quartz

本文仅仅记录如何将quartz集成到spring中,不对内容做过多解释,如果有疑问请自行gooogle。 一、集成步骤 1、引入pom依赖 <!--quartz--> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quar...

GAMELOFT9----纸上得来终觉浅,绝知此事要躬行 732

杰理外挂flash使用教程(三): 打包提示音到外部flash(2)

本教程详细介绍了提示音制作与程序配置的全流程规范。提示音制作要求包括:英文命名(8字符内)、单声道转换、标准目录结构(cpu/br23/tools/)及使用user_tone_g.bat脚本生成res.bin资源文件。程序配置需修改:1)启用NOR_FS文件系统;2)调整存储空间;3)配置外置Flash参数;4)增强下载脚本追加资源参数。测试阶段建议替换开机提示音验证功能,扩展开发可参考tone_player.c的索引播放逻辑。所有操作均配有图示说明,关键配置需修改对应头文件和脚本参数。

qq_42014563的博客 587

实战5:农作物产量预测 蔬菜产量预测 lstm 完整代码数据-可直接运行-计算机毕设

实战5:农作物产量预测 蔬菜产量预测 lstm 完整代码数据-可直接运行-计算机毕设

机器学习深度学习业余选手 1259

Spring boot集成Quartz与RabbitMQ

完成一个本地demo的小项目。 在Spring boot中集成Quartz与RabbitMQ,完成通过Quartz定时向RabbitMQ发送消息,并且在客户端监听RabbitMQ队列的消息并进行处理。同时针对Quartz使用了集群特性。数据层采用Spring boot jpa,用Hibernate简易处理了下CRUD。环境准备 数据库中建立业务存储表 t_account 账户表 t_order

AlanGogogo 1977

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

探索Spring与Quartz集成的实战项目:Spring-Quartz-Demo

探索Spring与Quartz集成的实战项目:Spring-Quartz-Demo 在现代软件开发中,任务调度是不可或缺的一部分,它允许我们在特定时间执行预定的任务。而Java社区中的Spring框架和Quartz库则是实现这一目标的强大工具。今天,我们将深入研究一个名为Spring-Quartz-Demo的开源项目,该项目位于上,它为我们展示了如何优雅地将Spring与Quartz结合使用。 项...

gitblog_00077的博客 755

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

将Quartz与Spring集成

在Java应用程序中调度作业时,Quartz是第一个考虑的工具。 Quartz是由最流行的RDBMS支持的作业调度程序。 这真的很方便,并且很容易与spring集成。 为了创建石英模式,您必须下载石英发行版并解压缩位于crystal-2.2.3 / docs / dbTables /中的文件夹。 根据您使用的数据库选择石英模式。 在我们的例子中,我们将使用本地h2数据库,因此将使用t...

最佳 Java 编程 413

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

quartz与spring进行集成

上一篇将了quartz框架的使用,spring同样也提供了对quartz的集成。这次就尝试一下在spring中集成quartz。 要在spring中使用job,Trigger和Scheduler,就要在spring中配置这3个bean。 同样用上一篇的例子:对于job的配置,十分简单,在applicationContext.xml中加入这一一句 <!-- quartz要调用的工作类...

weixin_30878501的博客 331

Quartz与Spring集成

Quartz与Spring集成 关于Quartz的基本知识,这里就不再多说,可以参考Quartz的example。 这里主要要说的是,个人在Quartz和Spring集成的过程中,遇到的问题和个人理解。 首先来说说个人的理解: 1、Quartz的运行原理 Quartz的重要组成部分就是,线程池和Trigger。而这些资源是被一个叫StandScheduler的类管理...

anyuta5577的博客 250

Spring集成Quartz的简单配置

过去曾经记录过Java定时任务包Quartz的用户:http://blog.csdn.net/sadfishsc/article/details/20638327 不过在实际的工作中,很少会直接用到它。通常都是用的spring-quartz组件,直接通过配置,让spring框架来自动装配 如下就是spring框架集成quartz组件,配置定时任务的方法 1. Maven依赖 org.s

我想跟代码谈谈 1万+

java quartz spring_Spring集成quartz

与spring集成实际就是将Jobdetail、Trigger、Scheduler交给spring管理。常用的集成方式每个都有两种1. 使用Quartz配置作业(JobDetail)两种方式:MethodInvokingJobDetailFactoryBeanJobDetailFactoryBean方式一:使用MethodInvokingJobDetailFactoryBean(简单,需要注入一...

weixin_42469444的博客 531
上一篇: 今天安装oracle9i的教训
下一篇: spring对定时任务调度集成的总结
eyejavaeye
博客等级 码龄20年 74粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值