买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:中国人寿保险股份有限公司江苏省分公司
摘要:本发明提供一种基于SpringBoot的动态插件的方法,包括以下步骤:S1:创建全局插件处理器映射,转发对应的HTTP请求到插件处理器映射;S2:上传和修改动态插件文件,创建插件Spring容器和插件处理器映射,注册到全局变量pluginContextMap中;S3:根据插件路径从全局变量pluginContextMap中删除动态插件;本发明通过为每个动态插件创建自定义插件处理器映射和自定义插件Spring容器,创建全局插件处理器映射拦截HTTP请求,将对应的HTTP请求转发到不同的插件处理器映射,基于自定义插件Spring容器解决依赖注入、动态代理、容器Bean对象冲突,修改删除困难等问题。
主权项:1.一种基于SpringBoot的动态插件的方法,其特征在于:包括以下步骤:S1:创建全局插件处理器映射,转发对应的HTTP请求到插件处理器映射;包括如下子步骤:S11:创建全局插件处理器映射GlobalHandlerMapping,所述处理器映射继承组件RequestMappingHandlerMapping,重写getHandlerInternal方法;所述getHandlerInternal方法的参数为HttpServletRequest请求;S12:从HttpServletRequest请求中获得URI路径,根据URI路径,循环遍历全局变量pluginContextMap中的每一个键,判断URI路径与键中的插件路径是否匹配;所述全局变量pluginContextMap的数据类型为Map键值对,其中,键为插件名称和插件路径,值为插件Spring容器和插件处理器映射;S13:如果URI路径与键中的插件路径匹配,则获取该键对应的值,从值中获得插件处理器映射,执行插件处理器映射的getHandlerInternal方法,将符合该插件路径的URI路径转发到对应的插件处理器映射;S14:如果URI路径与键中的插件路径不匹配,则执行父级类的getHandlerInternal方法放行此请求;S15:将全局插件处理器映射注册到当前环境的Spring容器中;S2:上传和修改动态插件文件,创建插件Spring容器和插件处理器映射,注册到全局变量pluginContextMap中;包括如下子步骤:S21:接收上传的动态插件文件并进行校验;接收用户上传的插件文件,所述插件文件对应的插件文件类型包括RAR、ZIP压缩文件类型和JAR文件类型;S22:读取上传的动态插件文件的插件信息并将Class文件加载到JVM虚拟机中;根据插件文件类型创建相应的插件文件类加载器读取插件文件内容,并将Class文件加载到JVM虚拟机中;并将加载成功的Class对象存入元素为Class的List集合中,记为pluginClassList;S23:创建自定义插件Spring容器,设置父级容器为当前环境中的Spring容器,循环遍历插件pluginClassList中的每一个元素Class对象,将Class对象注册到自定义插件Spring容器中,执行refresh方法,刷新自定义插件Spring容器;所述当前环境中的Spring容器为应用启动时创建的Spring容器;S24:创建自定义插件处理器映射PluginHandlerMapping,设置自定义插件处理器映射的容器为自定义插件Spring容器,执行自定义插件处理器映射的afterPropertiesSet初始化方法;S25:将自定义插件Spring容器和自定义插件处理器映射保存到全局变量pluginContextMap中;S3:根据插件路径从全局变量pluginContextMap中删除动态插件。
全文数据:
权利要求:
百度查询: 中国人寿保险股份有限公司江苏省分公司 一种基于SpringBoot的动态插件的方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。