`
wsh_88188
  • 浏览: 16062 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

spring quartz 使用oracle作为持久化出现异常。

 
阅读更多
使用sql server的时候一切都是正常的,但是更换成oracle数据库就报告异常:
ERROR -- ClusterManager: Error managing cluster: Failure updating scheduler state when checking-in: ORA-00904: "RECOVERER": 标识符无效

org.quartz.JobPersistenceException: Failure updating scheduler state when checking-in: ORA-00904: "RECOVERER": 标识符无效
[See nested exception: java.sql.SQLException: ORA-00904: "RECOVERER": 标识符无效
]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterCheckIn(JobStoreSupport.java:2130)
at org.quartz.impl.jdbcjobstore.JobStoreCMT.doCheckin(JobStoreCMT.java:1387)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:2378)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.initialize(JobStoreSupport.java:2365)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:506)
at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:396)
at org.quartz.impl.StdScheduler.start(StdScheduler.java:147)

我的quartz.properties配置如下:

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreCMT
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.maxMisfiresToHandleAtATime = 20
org.quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ?

##===========================================================
## Configure Datasources
##===========================================================
#
#org.quartz.dataSource.myDS.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
#org.quartz.dataSource.myDS.URL = jdbc:sqlserver://127.0.0.1:1433;DatabaseName=SYS_MGR_TEST
#org.quartz.dataSource.myDS.user = sa
#org.quartz.dataSource.myDS.password = 123
#org.quartz.dataSource.myDS.maxConnections = 5
#============================================================== 
#Configure Cluster Properties 
#==============================================================
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.jobStore.isClustered = true 
org.quartz.jobStore.clusterCheckinInterval = 20000

#============================================================== 
#Configure ThreadPool 
#==============================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

使用的是spring配置的数据源,

使用sqlserver的时候一切正常,使用oracle数据库,我就修改了org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate

结果启动的时候就报告上面那个异常。

哪位达人帮助看一下,多谢~~
分享到:
评论
3 楼 lookdd1 2009-12-03  
是不是 RECOVERER  是oracle中的关键字?
2 楼 daquan198163 2009-12-03  
ORA-00904 invalid column name
显然问题出在org.quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ?
1 楼 wsh_88188 2009-12-03  
真的没有人知道吗?     

相关推荐

    Quartz2.0持久化到数据库

    在“Quartz2.0持久化到数据库”这个主题中,我们将深入探讨如何将Quartz2.0的任务调度信息存储到数据库中,以便在系统重启或故障后能够恢复任务,并提供更可靠的调度服务。 首先,理解Quartz2.0的持久化机制至关...

    spring集成quartz集群配置

    3. **任务持久化**:Quartz将任务和触发器存储在数据库中,即使应用重启,也能保持任务状态。 4. **异常处理**:在Job类中捕获和处理异常,确保任务的健壮性。 通过上述步骤,你已经掌握了Spring集成Quartz集群配置...

    quartz1.8.6数据库持久化

    综上所述,Quartz 1.8.6与Spring 3.1.4的集成使得开发者能够利用数据库持久化功能创建可靠的定时任务。通过配置文件和Spring的XML配置,我们可以灵活地管理作业和触发器,并借助其他依赖库实现更复杂的应用场景。

    maven父子项目(java)+SSM(spring+springmvc+spring-mybatis)+quartz持久化到Oracle数据库

    本人搭的项目,可以正常运行。用于自己存留备份,若有人需要也可下载。 项目用到的技术点: ...quartz持久化到Oracle数据库+ log4j+ Excel处理(只有工具代码,使用代码没放)+ spring-test(测试例子)+ bootstrap

    idea 使用spring自带的定时器quartz 使用的c3p0 v0.95.2所包含的jar

    -- 其他配置,如是否持久化 --> <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> * * * ?"/> <!-- 每5分钟执行一次 --> ``` 将`Job`和`Trigger`加入到`...

    Spring quartz任务调度

    在实际应用中,我们可能还需要处理任务的持久化,以便服务器重启后能够恢复之前的状态。这通常是通过将Quartz的配置设置为使用数据库存储Job和Trigger来实现的。这里提供的"tables_oracle.sql"文件很可能就是用于在...

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

    在Quartz 2.2.3版本中,初始化数据库是使用Quartz的关键步骤,因为Quartz依赖于一个持久化存储来保存作业和触发器的信息。这个过程通常涉及执行一系列SQL语句来创建必要的表结构。 Quartz的初始化SQL语句主要用于...

    基于spring+mybatis的quartz应用

    在企业级应用开发中,定时任务的管理是一个重要的部分,Quartz是一款强大的开源作业调度框架,常被用于处理定时任务。...在实际开发中,还可以根据项目需求进行更复杂的配置和优化,例如使用集群、持久化策略调整等。

    quartz持久化

    本文将深入探讨Quartz的持久化机制,以及如何配置和使用这一功能。 首先,我们来看`quartz.properties`文件。这是Quartz的配置文件,其中包含了调度器的行为和属性设置。例如,你可以在这里指定存储作业和触发器的...

    quartz1.6.5+Hibernate+Spring

    在 Quartz 与 Hibernate 整合时,可以利用 Hibernate 的功能来持久化 Quartz 的作业和触发器,提供了一种无缝的方式来管理数据库中的调度数据。 Spring 是一个全面的 Java 应用开发框架,提供依赖注入、事务管理、...

    定时任务Quartz

    在配置Quartz时,需要指定相应的JDBC连接,Quartz会将作业和触发器的信息存储在数据库中,保证服务重启后任务状态的持久化。 6. **调试与测试**:在"spring+mybatis+Quartz+jquery.rar"的环境中,调试成功意味着...

    quartz-2.2.1相关jar

    - 数据库驱动JAR:如果使用JDBC进行持久化,可能需要相应的数据库驱动JAR,如MySQL、Oracle等。 - 其他依赖库:如SLF4J或log4j的日志库,Spring整合库等,根据配置可能需要。 在使用Quartz时,通常会进行以下步骤:...

    利用Quartz实现任务调度的集群

    此外,它还具备调度现场的持久化能力,即使系统崩溃,也能恢复任务调度的状态。 在Quartz集群中,每个节点都是一个独立的Quartz应用,它们通过共享数据库来感知彼此的存在。这种设计使得集群具有高可用性和伸缩性。...

    Quartz Job 中文文档 CHM格式

    框架还提供了JobStore接口,用于实现不同持久化机制,如RAMJobStore(内存存储,适合小型应用)、 JDBCJobStore(数据库存储,适合大型分布式系统)等。 文档中会详细介绍如何创建JobDetail,这是Job的具体实例,...

    Spring-Reference_zh_CN(Spring中文参考手册)

    处理多个持久化单元 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现DAO 12.6.4. 异常转化 12.6.5. 事务管理 12.6.6. JpaDialect III. Web 13. Web框架 13.1. 介绍 13.1.1. 与其他web框架的集成 ...

    quartz所需jar

    Quartz 是一个开源的作业调度框架,常...在实际开发中,你还可以利用Quartz的高级特性,如并发控制、作业持久化、集群支持等。理解并熟练使用这些jar文件是有效利用Quartz的关键,能够帮助你构建出强大的定时任务系统。

    springmvc+spring+hibernate

    Spring MVC 负责处理HTTP请求并将其路由到相应的控制器,Spring 提供了依赖注入(DI)和面向切面编程(AOP),简化了代码管理与模块化,而Hibernate则是持久层框架,负责数据库操作,提供了对象关系映射(ORM)功能...

    spring jar 包2

    6. **jdo**:Java Data Objects是Java标准,提供了对持久化数据的API。虽然Spring更倾向于使用Hibernate等ORM框架,但Spring仍然可以与JDO集成,提供事务管理和对象/关系映射能力。 7. **toplink**:TopLink(现在...

    动态QuartzDemo

    Quartz需要一个持久化存储来保存作业和触发器的信息,通常使用关系型数据库如MySQL或Oracle。你需要将这些脚本在你的数据库环境中执行,创建所需的表结构。 在`src`源代码目录下,我们可能看到以下几个关键部分: ...

    spring boot 代码生成方法块

    在Spring Boot框架中,代码生成方法块是一种自动化开发策略,旨在提高开发效率,减少重复劳动。Spring Boot通过集成各种工具库,使得开发者能够快速构建基于Java的应用程序,其中包括数据库操作的相关代码生成。以下...

Global site tag (gtag.js) - Google Analytics