- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定时任务 quartz 集群 Quartz和spring 集群定时任务整合
导读:就爱阅读网友为您分享以下“Quartz和spring 集群定时任务整合”资讯,希望对您有所帮助,感谢您对92的支持!
Quartz和Spring整合
1. 集群定时任务 使用Quartz 和spring 整合
在集群环境下,大家会碰到一直困扰的问题,即多个 APP 下如何用 quartz 协调处理自动化 JOB 。
A , B , C 3 台机器上各有一个 QUARTZ ,他们会按照即定的 SCHEDULE 自动执行各自的任务。
我们先不说实现什么功能,就说这样的架构其实有点像多线程。
那多线程里就会存在“资源竞争”的问题,即可能产生脏读,脏写,由于三台 APP SERVER 里都有 QUARTZ ,因此会存在重复处理 TASK 的现象。 一般外面的解决方案是只在一台 APP 上装 QUARTZ ,其它两台不装,这样集群就形同虚设了;
另一种解决方案是动代码,这样就要影响到原来已经写好的 QUARTZ JOB 的代码了,这对程序开发人员来说比较痛苦;
本人仔细看了一下 Spring 的结构和 QUARTZ 的文档,结合 Quartz 自身可以实例化进数据的特性找到了相关的解决方案。
每台作为集群点的 APP SERVER 上都可以布署 QUARTZ ;
2. QUARTZ 的 TASK ( 12 张表)实例化如数据库,基于数据库引擎及 High-Available 的策略(集群的一种策略)自动协调每个节点的 QUARTZ ,当任一一节点的 QUARTZ 非正常关闭或出错时,另几个节点的 QUARTZ 会自动启动;
3.
3. 无需开发人员更改原已经实现的 QUARTZ ,使用 SPRING+ 类反射的机制对原有程序作切面重构;
本人也事先有哪些信誉好的足球投注网站了一些资料,发觉所有目前在 GOOGLE 上或者在各大论坛里提供的解决方案,要么是只解决了一部分,要么是错误的,要么是版本太老,要么就是完全抄别人的。
尤其是在使用 QUARTZ+SPRING 对数据库对象作实例化时会抛错(源于 SPRING 的一个 BUG ),目前网上的解决方案全部是错的或者干脆没说,本人在此方案中也会提出如何解决。
解决方案:
1. 把 QUARTZ 的 TASK 实例化进数据库,
QUARTZ 只有实例化进入数据库后才能做集群,外面的解决方案说实例化在内存里全部是错的,把quartz-1.8.4/docs/dbTables/tables_oracle.sql 在 ORACLE9I2 及以上版本中执行一下会生成 12 张表;
--
-- A hint submitted by a user: Oracle DB MUST be created as “shared” and the
-- job_queue_processes parameter must be greater than 2, otherwise a DB lock
-- will happen. However, these settings are pretty much standard after any
-- Oracle install, so most users need not worry about this.
--
-- Many other users (including the primary author of Quartz) have had success
-- runing in dedicated mode, so only consider the above as a hint ;-) --
delete from qrtz_job_listeners;
delete from qrtz_trigger_listeners;
delete from qrtz_fired_triggers;
delete from qrtz_simple_triggers;
delete from qrtz_cron_triggers;
delete from qrtz_blob_triggers;
delete from qrtz_triggers;
delete from qrtz_job_details;
delete from qrtz_calendars;
delete from qrtz_paused_trigger_grps;
delete from qrtz_locks;
delete from qrtz_scheduler_state;
drop table qrtz_calendars;
drop tabl
您可能关注的文档
- 宁波纺织品 宁波纺织品出口面临的问题及对策.doc
- 安全专题会议内容 安全教育专题会议内容.doc
- 安全文明施工管理办法 安全生产文明施工管理办法.doc
- 安全文明施工规范 文明施工基本要求.doc
- 安全施工专项防护措施 机具安全防护措施.doc
- 安全工作简报第一期 永汉镇团委工作团委工作简报(第一期).doc
- 安全环保管理制度 安全环保管理制度_2014年1月_.doc
- 安全生产七大理念.doc
- 宇宙中心五道口 五道口.doc
- 安全生产事故后的启示 德国安全生产管理特点及启示.doc
- 直播电商 课件 项目1、2 直播认知、直播策划.pptx
- PHP动态网站开发项目教程(微课版) 课件 任务1、2 会员管理系统、 项目前端开发.pptx
- 直播电商 课件 项目7、8 数据分析、 综合运营管理.pptx
- Unit7SectionA1a2d课件人教新目标七年级英语下册.pptx
- 2022-2023学年二年级语文下册期中素养测评三A3纸.docx
- 山东省济南外国语学校2017-2018学年高一下学期第一次月考政治试题.doc
- 2 一元一次方程的解法 第3课时 利用去括号解一元一次方程.pptx
- 9.5三角形的中位线2.docx
- 2024年警用摩托车项目需求分析报告.docx
- 2024年井中电磁波透视仪项目分析评估报告.docx
文档评论(0)