出现 Couldn't acquire next trigger: ORA-08177: 无法连续访问此事务处理错误:
1:可能是由org.quartz.jobStore.txIsolationLevelSerializable设置为true的原因,将此属性设置为false
2:你的job类中可能做了大量的和数据库交互的代码,但是job默认是多线程并发执行的,出现任务堆积导致,如果使用MethodInvokingJobDetailFactoryBean方式只需设置concurrent为false即可
如果使用实现job接口或者继承QuartzJobBean等类时需要在此job实现类上添加 @DisallowConcurrentExecution注解
3:无法连续访问此事物,出现这种情况一般是insert或者update语句的事物还没提交,另外再次使用insert/update/delete等语句操作了此数据

出现数据库连接错误
1:可能org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate 配置不太合适,根据自己的数据库配置相应的值,可在
org.quartz.impl.jdbcjobstore包或者其子包下寻找合适的配置

quartz集群时使用crontrigger但是没有执行错过的任务
描述:使用crontrigger 重启quartz时没有执行错过的任务
解决:可能是org.quartz.jobStore.misfireThreshold属性的值设置的不合理

出现java.sql.SQLException: ORA-01453: SET TRANSACTION 必须是事务处理的第一个语句
1:可能你在配置文件中配置了多个数据源,解决方法:只配置一个
2:可能是由org.quartz.jobStore.txIsolationLevelSerializable设置为true的原因,将此属性设置为false

配置文件详解如下:
属性     默认值
org.quartz.jobStore.driverDelegateClass     
描述:能理解不同数据库系统中某一特定方言的驱动代理    
org.quartz.jobStore.dataSource     
描述:用于 quartz.properties 中数据源的名称    
org.quartz.jobStore.tablePrefix     QRTZ_
描述:指定用于 Scheduler 的一套数据库表名的前缀。假如有不同的前缀,Scheduler 就能在同一数据库中使用不同的表。    
org.quartz.jobStore.userProperties     FALSE
描述:"use properties" 标记指示着持久性 JobStore 所有在JobDataMap 中的值都是字符串,因此能以 名-值 对的形式存储,而不用让更复杂的对象以序列化的形式存入 BLOB 列中。这样会更方便,因为让你避免了发生于序列化你的非字符串的类到 BLOB 时的有关类版本的问题。    
org.quartz.jobStore.misfireThreshold     60000
描述:在 Trigger 被认为是错过触发之前,Scheduler 还容许 Trigger 通过它的下次触发时间的毫秒数,默认值(假如你未在配置中存在这一属性条目) 是60000(60 秒)。这个不仅限于JDBC-JobStore;它也可作为RAMJobStore 的参数    
org.quartz.jobStore.isClustered     FALSE
描述:设置为 true 打开集群特性。如果你有多个 Quartz 实例在用同一套数据库时,这个属性就必须设置为 true。    
org.quartz.jobStore.clusterCheckinInterval     15000
描述:设置一个频度(毫秒),用于实例报告给集群中的其他实例。这会影响到侦测失败实例的敏捷度。它只用于设置了 isClustered 为 true 的时候。    
org.quartz.jobStore.maxMisfiresToHandleAtATime     20
描述:这是 JobStore 能处理的错过触发的 Trigger 的最大数量。处理太多(超过两打) 很快会导致数据库表被锁定够长的时间,这样就妨碍了触发别的(还未错过触发) trigger 执行的性能。    
org.quartz.jobStore.dontSetAutoCommitFalse     FALSE
描述:设置这个参数为 true 会告诉 Quartz 从数据源获取的连接后不要调用它的 setAutoCommit(false) 方法。这在少些情况下是有帮助的,比如假如你有这样一个驱动,它会抱怨本来就是关闭的又来调用这个方法。这个属性默认值是 false,因为大多数的驱动都要求调用setAutoCommit(false)。    
org.quartz.jobStore.selectWithLockSQL     SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ? FOR UPDATE
描述:这必须是一个从 LOCKS 表查询一行并对这行记录加锁的 SQL 语句。假如未设置,默认值就是 SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ? FOR UPDATE,这能在大部分数据库上工作。{0} 会在运行期间被前面你配置的TABLE_PREFIX 所替换。    
org.quartz.jobStore.txIsolationLevelSerializable     FALSE
描述:值为 true 时告知 Quartz(当使用 JobStoreTX 或 CMT) 调用 JDBC 连接的setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE) 方法。这有助于阻止某些数据库在高负载和长时间事物时锁的超时。    
org.quartz.dataSource.NAME.driver
描述:JDBC 驱动类的全限名,NAME是上方dataSource指定的值
org.quartz.dataSource.NAME.URL
描述:连接到你的数据库的 URL(主机,端口等)
org.quartz.dataSource.NAME.user
描述:用于连接你的数据库的用户名
org.quartz.dataSource.NAME.password
描述:用于连接你的数据库的密码
org.quartz.dataSource.NAME.maxConnections
描述:DataSource 在连接接中创建的最大连接数
org.quartz.dataSource.NAME.validationQuary
描述:一个可选的 SQL 查询字串,DataSource 用它来侦测并替换失败/断开的连接。例如,Oracle 用户可选用 select table_name from user_tables,这个查询应当永远不会失败,除非直的就是连接不上了。

quartz2.2.3 spring整合遇到的错误,及quartz配置文件说明相关推荐

  1. Spring 学习日记 (四) Spring 整合Mybaits 和 struts2 框架的配置文件

    其实也是挺无奈的  这东西永远这一棒子那一锤子的  太不系统了 哎 没办法 跟着项目走吧 首先准备的JAR包 需要配置的几个配置文件 配置spring applicationContext.xml   ...

  2. 解决spring整合mybatis时错误 ‘org.mybatis.spring.mapper.MapperScannerConfigurer#0‘

    警告:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybat ...

  3. 解决在Spring整合Hibernate配置tx事务管理器出现错误的问题

    解决在Spring整合Hibernate配置tx事务管理器出现错误的问题 参考文章: (1)解决在Spring整合Hibernate配置tx事务管理器出现错误的问题 (2)https://www.cn ...

  4. java 定时任务插件_详解Spring整合Quartz实现动态定时任务

    最近项目中需要用到定时任务的功能,虽然spring 也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之后,决定整合更为专业的Quartz来实现定时任务功能. 普通定时任务 首先 ...

  5. springMvc+mybatis+spring 整合 包涵整合activiti 基于maven

    2019独角兽企业重金招聘Python工程师标准>>> 最近自己独立弄一个activiti项目,写一下整合过程: 环境:jdk1.7 tomcat7.0 maven3.5  ecli ...

  6. Hibernate Validation与Spring整合各注解的用法Demo

    转自:https://www.aliyun.com/jiaocheng/1315650.html <dependency> <groupId>org.hibernate< ...

  7. Spring整合Redis时报错:java.util.NoSuchElementException: Unable to validate object

    我在Spring整合Redis时报错,我是犯了一个很低级的错误! 我设置了Redis的访问密码,在Spring的配置文件却没有配置密码这一项,配置上密码后,终于不报错了!

  8. 【Structs2】struts2单例多例以及spring整合的问题

    单独的Struts2框架 1.struts2的Action默认是多实例的并非单例,也就是每次请求产生一个Action的对象,即每次访问的参数都被封装在Action的成员变量中. 2.struts2中A ...

  9. RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ

    什么是RabbitMQ 1.1 MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器.多用于分布式系统之间进行通信. ⚫ MQ,消息队列,存储消息的中间件 ⚫ ...

  10. 使用Freemarker来页面静态化,与Spring整合使用

    页面静态化介绍 页面静态化其实就是将原来的动态网页(例如通过ajax请求动态获取数据库中的数据并展示的网页)改为 通过静态化技术生成的静态网页,这样用户在访问网页时,服务器直接给用户响应静态html页 ...

最新文章

  1. 第六篇:并发-粒度锁
  2. spring mvc项目中利用freemarker生成自定义标签
  3. window下建立vue.js项目
  4. 关于接口 RandomAccess
  5. 直播「拯救」互联网?
  6. STC89C52 STC89LE52 NRF24L01无线 教程 (二)
  7. Anaconda安装绘图模块altair
  8. 能让你的Intellij IDEA 起飞的几个设置(设置背景 字体 快捷键 鼠标悬停提示 提示忽略大小写 取消单行显示)
  9. 微信小程序网络通信(一)
  10. 单链表的插入删除以及逆转
  11. 写给大忙人的ELK最新版6.2.4学习笔记-Logstash和Filebeat解析(java异常堆栈下多行日志配置支持)
  12. synchronized锁升级过程详解
  13. PDM系统服务器管理,PDM产品数据管理系统
  14. 更强大、更灵活、更全面丨一文搞懂DolphinDB窗口计算
  15. 赛马c语言编程,C/C++编程题之渊子赛马
  16. html之响应式(自适应)网页设计
  17. TVS二极管和稳压二极管的区别
  18. protractor环境安装
  19. AE中的各种报错提示的原因和解决方案
  20. 运筹学 基础 知识点总结 (八)

热门文章

  1. esxi - 加装vmware titan xp显卡配置
  2. mysql计算连续天数_mysql 统计连续天数
  3. 计算机主机进水无法启动,电脑主机进水会有什么影响!
  4. 使用python的requests模块实现百思不得其姐抓取(多线程版)
  5. 【智慧医疗】EMR vs EHR vs PHR 有何区别?
  6. Manjaro 配置指南
  7. 交换机trunk接口
  8. Service Mesh框架选型对比分析:Linkerd、Envoy、Istio、Conduit
  9. 物联网下的智慧停车 让智能化找到车位
  10. python 阮一峰_阮一峰关于 Javascript 中闭包的解读是否正确?