【技术实现步骤摘要】
支持组件热部署的Java类文件加载方法及装置
本专利技术涉及软件
,尤其涉及一种支持组件热部署的Java类文件加载方法及装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。Java编写的程序,经编译器编译后,转换为Java类文件(即class文件),再经由类加载器(即classloader)加载到Java虚拟机(JavaVirtualMachine,JVM)的内存空间后,使得应用系统能够使用Java类,例如,对象的实例化、方法的调用等。现有基于Java程序(Web程序或普通J2SE程序)开发的应用系统,由一个类加载器加载所有组件(例如,账户组件、交易组件、计息组件、会计组件等)。这种组件加载方式,当应用系统内某个组件更新的情况下,往往需要重新启动整个应用系统对该组件进行加载,无法支持组件热部署。针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例中提供了一种支持组件热部署的Ja ...
【技术保护点】
1.一种支持组件热部署的Java类文件加载方法,其特征在于,包括:/n构建呈树状结构的类加载器模型,其中,所述类加载器模型包括:父类加载器和多个子类加载器,每个子类加载器对应Java应用系统内的一个应用组件;/n通过父类加载器加载所述Java应用系统内公共组件的Java类文件;/n通过各个子类加载器加载所述Java应用系统内各个应用组件的Java类文件。/n
【技术特征摘要】
1.一种支持组件热部署的Java类文件加载方法,其特征在于,包括:
构建呈树状结构的类加载器模型,其中,所述类加载器模型包括:父类加载器和多个子类加载器,每个子类加载器对应Java应用系统内的一个应用组件;
通过父类加载器加载所述Java应用系统内公共组件的Java类文件;
通过各个子类加载器加载所述Java应用系统内各个应用组件的Java类文件。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
创建子类加载器集合;
创建应用组件对应的子类加载器,获取应用组件与Java类文件的映射关系;
将创建的子类加载器添加到所述子类加载器集合中;
由所述子类加载器集合中的各个子类加载器,根据应用组件与Java类文件的映射关系,加载各个应用组件的Java类文件。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
获取待卸载的应用组件;
根据待卸载的应用组件,更新待卸载应用组件对应的子类加载器状态;
删除所述子类加载器集合中待卸载应用组件对应的子类加载器。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
获取待访问的Java类文件;
基于应用组件与Java类文件的映射关系,查询待访问Java类文件对应的子类加载器是否在所述子类加载器集合中;
如果待访问Java类文件对应的子类加载器在所述子类加载器集合中,则基于查询到的子类加载器加载所述待访问Java类文件;
如果待访问Java类文件对应的子类加载器不在所述子类加载器集合中,则基于父类加载器加载所述待访问Java类文件。
5.一种支持组件热部署的Java类文件加载装置,其特征在于,包括:
类加载器模型构建模块,用于构建呈树状结构的类加载器模型,其中,所述类加载器模型包括:父类加载器和多个子类加载器,每个子类加载器对应Java应用系统内的一个应用组件;
公共组件类文件加载模块,用于通过父类加载器加载...
【专利技术属性】
技术研发人员:李文彬,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。