[发明专利]一种JAVA应用程序的动态更新方法和装置在审
申请号: | 201611199633.5 | 申请日: | 2016-12-22 |
公开(公告)号: | CN108228208A | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 杨杰 | 申请(专利权)人: | 北京神州泰岳软件股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F9/445 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 接口实现类 动态更新 应用程序 方法和装置 业务逻辑 更新 业务逻辑接口 应用程序触发 应用程序提供 更新过程 启动阶段 实时监测 业务中断 重新加载 实例化 运行期 加载 重启 变更 创建 | ||
1.一种JAVA应用程序的动态更新方法,所述方法包括:
将业务逻辑接口化,并实例化接口,创建接口实现类;
在JAVA应用程序启动阶段,加载所有的接口实现类;
在JAVA应用程序运行期,实时监测是否有接口实现类被更新,若有接口实现类被更新,则重新加载更新后的接口实现类。
2.如权利要求1所述的方法,其特征在于,所述在JAVA应用程序启动阶段,加载所有的接口实现类,具体包括:
利用jar命令将所有的接口实现类打包为一个.jar文件,保存到预设的目录;
自定义一个类加载器,在JAVA应用程序启动阶段,利用自定义的类加载器加载所述.jar文件中的接口实现类。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:在JAVA应用程序启动阶段,利用自定义的类加载器加载所述.jar文件中的接口实现类时,记录所述.jar文件的最后修改时间。
4.如权利要求3所述的方法,其特征在于,所述在JAVA应用程序运行期,实时监测是否有接口实现类被更新,具体包括
创建一个Thread线程,利用所述Thread线程轮询所述.jar文件的最后修改时间,当所述.jar文件的最后修改时间与记录的时间不一致时,判断有接口实现类被更新。
5.如权利要求4所述的方法,其特征在于,所述重新加载更新后的接口实现类,具体包括:
利用自定义的类加载器重新加载保存在预设目录的所述.jar文件中的接口实现类,并更新记录的所述.jar文件的最后修改时间。
6.一种JAVA应用程序的动态更新装置,所述装置包括:创建单元、加载单元和监测单元;
所述创建单元,用于将业务逻辑接口化,并实例化接口,创建接口实现类;
所述监测单元,用于在JAVA应用程序运行期,实时监测是否有接口实现类被更新;
所述加载单元,用于在JAVA应用程序启动阶段,加载所有的接口实现类;以及在所述监测单元监测到有接口实现类被更新时,重新加载更新后的接口实现类。
7.如权利要求6所述的装置,其特征在于,
所述创建单元包括存储模块,用于利用jar命令将所有的接口实现类打包为一个.jar文件,保存到预设的目录;
所述加载单元包括自定义类加载器,用于在JAVA应用程序启动阶段,以及在所述监测单元监测到有接口实现类被更新时,加载所述存储模块保存的.jar文件中的接口实现类。
8.如权利要求7所述的装置,其特征在于,所述加载单元还包括修改时间记录模块,用于在JAVA应用程序启动阶段,当所述自定义类加载器加载所述.jar文件中的接口实现类时,记录所述.jar文件的最后修改时间。
9.如权利要求8所述的装置,其特征在于,所述监测单元具体用于:创建一个Thread线程,利用所述Thread线程轮询所述.jar文件的最后修改时间,当所述.jar文件的最后修改时间与所述修改时间记录模块记录的时间不一致时,判断有接口实现类被更新。
10.如权利要求9所述的装置,其特征在于,所述修改时间记录模块还用于,在JAVA应用程序运行期,当所述自定义类加载器重新加载所述存储模块保存的所述.jar文件中的接口实现类时,更新记录的所述.jar文件的最后修改时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州泰岳软件股份有限公司,未经北京神州泰岳软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611199633.5/1.html,转载请声明来源钻瓜专利网。