[发明专利]一种微服务接口定义类自发现的实现方法在审
申请号: | 201811445135.3 | 申请日: | 2018-11-29 |
公开(公告)号: | CN109726021A | 公开(公告)日: | 2019-05-07 |
发明(设计)人: | 王攀锋;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 广东莞信律师事务所 44332 | 代理人: | 陈熙 |
地址: | 523808 广东省东莞市松山湖高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加载器 服务接口定义 遍历 软件开发技术 发现服务 服务框架 获取组件 类加载器 判断系统 前缀配置 顺序获取 接口类 可定制 可扩展 类加载 类文件 注解 反射 内存 备用 发现 灵活 | ||
1.一种微服务接口定义类自发现的方法,其特征在于,所述的方法是在微服务框架中先获取当前启动类的类加载器,通过系统加载器发现在主启动文件中的Jar Manifest,通过Jar Manifest发现组件前缀过滤配置,通过遍历加载器并过滤查找到组件JAR包的URL,再遍历JAR包并通过注解找到其服务接口类信息,最后实现服务接口类的自发现。
2.根据权利要求1所述的方法,其特征在于,所述的方法包括以下具体步骤:
获取当前类加载器;
遍历获取加载器的父加载器;
遍历获取加载器加载资源的URL;
如当前加载器为系统加载器,则通过Jar Manifest获取组件发现前缀,然后判定资源是否组件资源JAR包;如当前加载器不是系统加载器,则直接判定资源是否组件资源JAR包;
遍历JAR包的类文件信息;
通过注解判定是否服务接口类;
将服务接口类信息存入内存备用。
3.根据权利要求1或2所述的方法,其特征在于,所述的类加载器在Java程序启动时加载程序的class类到JVM中。
4.根据权利要求1所述的方法,其特征在于,
所述的主启动文件,是指在Java程序启动时包含主入口main方法的类所在的JAR文件,即通过命令行执行启动命令的jar。
5.根据权利要求1或2所述的方法,其特征在于,
所述的Jar Manifest,是指主启动文件中的Manifest信息,基于框架的应用在编译打包时将相关信息写入。
6.根据权利要求1所述的方法,其特征在于,
所述的URL是定位这个资源在操作系统的文件路径或jar包中的路径,是资源的定位路径。
7.根据权利要求1或2所述的方法,其特征在于,
所述的注解,是指Java程序中的@interface类型所定义的类文件,其注解文件本身是额外定义的。
8.根据权利要求1或2所述的方法,其特征在于,
所述的服务接口类,是指微服务框架中服务提供者所定义的该服务所能提供的供其他服务调用者调用的方法组成的接口文件,服务调用者使用此接口类注入后直接调用。
9.根据权利要求8所述的方法,其特征在于,
所述的接口文件,是指Java程序中的interface类型所定义的类文件,文件中定义所提供的方法;
所述的服务调用者,是指需要使用服务的程序;
所述的注入,是指使用Spring框架中的@Autowired注解后,框架自动生成基于接口的实现Bean,在微服务框架中也提供类似的注解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811445135.3/1.html,转载请声明来源钻瓜专利网。