发明名称 基于预加载机制的插件支持方法
摘要 本发明涉及基于预加载机制的插件支持方法,其包括以下步骤:1主程序启动并加载插件运行框架,由插件运行框架负责读取外部插件;2插件运行框架为外部插件启动独立类加载器,类加载器加载插件中的类型,并将类型保存到全局缓存中;3插件运行框架获取主程序当前的类加载器,将主程序当前类的加载器的父加载器替换为原父加载器的代理类,原父加载器的代理类会拦截所有发给原始类加载器的类型加载调用;4当主程序请求调用Class类型时,按照类型名称先从原父加载器中查找Class类型,若没有找到目标类型,再从全局缓存中匹配是否有对应的插件提供的类型,若匹配成功,则直接加载执行,反之,则抛出异常。
申请公布号 CN104679572A 申请公布日期 2015.06.03
申请号 CN201510136737.0 申请日期 2015.03.26
申请人 北京神舟航天软件技术有限公司 发明人 倪永全;单承方;耿建光;温小龙
分类号 G06F9/445(2006.01)I 主分类号 G06F9/445(2006.01)I
代理机构 北京世誉鑫诚专利代理事务所(普通合伙) 11368 代理人 孙国栋
主权项 基于预加载机制的插件支持方法,其特征在于,包括以下步骤:(1)、主程序启动同时加载插件运行框架,由插件运行框架负责读取所有外部插件;(2)、插件运行框架为每个外部插件分别启动独立的类加载器,类加载器各自加载插件中的类型,并将加载后得到的类型保存到全局缓存中;(3)插件运行框架获取主程序当前的类加载器,通过反射修改主程序当前的加载器的父加载器,将主程序当前类的加载器的父加载器替换为原父加载器的代理类,原父加载器的代理类会拦截所有发给原始类加载器的类型加载调用;(4)、当主程序请求调用Class类型时,按照类型名称先从原父加载器中查找Class类型,若没有找到目标类型,再从全局缓存中匹配是否有对应的插件提供的类型,若匹配成功,则直接加载执行,反之,则抛出异常。
地址 100094 北京市海淀区永丰路28号