[发明专利]一种动态加载及调度定时任务的方法及装置有效
申请号: | 201910042314.0 | 申请日: | 2019-01-15 |
公开(公告)号: | CN109857529B | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 郑先斌 | 申请(专利权)人: | 深圳业拓讯通信科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/445;G06F8/71 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 郭伟刚 |
地址: | 518000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 加载 调度 定时 任务 方法 装置 | ||
本发明公开了一种动态加载及调度定时任务的方法及装置,该方法包括:启动父容器以生成定时任务管理模块实例及任务调度器实例;通过定时任务管理模块实例扫描包括多个定时任务的部署目录;解析多个定时任务以生成多个分别与多个定时任务对应的子类加载器及多个定时任务对应的子容器,通过子类加载器加载对应的定时任务,并通过子容器管理对应的定时任务;依据任务调度器实例定时调度定时任务。本发明的有益效果是,每个定时任务由不同的类加载器加载,并使用独立的容器进行管理,避免了不同定时任务之间相互影响,降低程序运行的耦合度;所有定时任务同在一个进程中运行,由定时任务管理模块统一加载和管理,降低了系统维护人员的操作复杂度。
技术领域
本发明涉及spring开发技术领域,尤其涉及一种动态加载及调度定时任务的方法及装置。
背景技术
在当今的JAVA开发框架当中,Spring以其自身方便快捷的开发方式和对各种框架的整合能力,赢得了许多企业和开发者的青睐。在Spring的相关技术中,对于Quartz的整合使得开发定时任务变得非常的简单。通过在方法上配置一个@Scheduled注解,就能让Spring在指定的时间定时调度该方法来完成特定的业务功能。
但是面对业务需求的不断变更,特别是互联网业务,这种方式无法动态的修改任务的执行周期,无法动态的增加新的定时任务、也无法删除或者升级某个定时任务。如果多个任务部署在同一个Spring容器当中,为了处理一个任务的变更,将会影响其他任务的正常执行,解决这些问题也会变得非常复杂,风险不可预期。如果每个任务分别使用独立的Spring容器进程进行部署,在一个拥有成百上千个定时任务的业务系统当中,开发和部署这些众多任务将会变得非常麻烦,同时会占用非常多的资源。
或者有些其他方案,简单的使用了数据库来存储任务的相关配置信息,但是这样并不能做到动态的增加新的定时任务或者升级已有的定时任务业务逻辑,同时对于数据库有强依赖,在一些不需要或者没有数据库的业务系统当中,没有办法使用。
发明内容
本发明的目的在于提供一种动态加载及调度定时任务的方法及装置,解决现有技术中多个任务部署在同一个Spring容器当中,为了处理一个任务的变更,将会影响其他任务的正常执行,解决这些问题也会变得非常复杂,风险不可预期或者每个任务分别使用独立的Spring容器进程进行部署,在一个拥有成百上千个定时任务的业务系统当中,开发和部署这些众多任务将会变得非常麻烦,同时会占用非常多的资源的问题。
本发明的技术方案实现如下:
一方面,本发明提供一种动态加载及调度定时任务的方法,包括:
启动父容器以生成定时任务管理模块实例及任务调度器实例;
通过所述定时任务管理模块实例扫描包括多个定时任务的部署目录;
解析多个所述定时任务以生成多个分别与多个所述定时任务对应的子类加载器及多个分别与多个所述定时任务对应的子容器,通过所述子类加载器加载对应的定时任务,并通过所述子容器管理对应的定时任务;
依据所述任务调度器实例定时调度所述定时任务并更新所述部署目录的状态。
在本发明所述的方法中,所述通过所述定时任务管理模块实例扫描包括多个定时任务的部署目录,包括:
依据多个所述定时任务的相关资源及配置文件形成部署目录;所述定时任务包括所述相关资源及所述配置文件;
所述通过所述定时任务管理模块实例扫描所述部署目录。
在本发明所述的方法中,所述通过子类加载器加载对应的定时任务,并通过所述子容器管理对应的定时任务,包括:
解压对应的定时任务;
解析所述定时任务中的配置文件以获取任务名称、任务执行类及任务执行周期;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳业拓讯通信科技有限公司,未经深圳业拓讯通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910042314.0/2.html,转载请声明来源钻瓜专利网。