[发明专利]一种服务执行方法及装置在审
申请号: | 201910864908.X | 申请日: | 2019-09-09 |
公开(公告)号: | CN110569092A | 公开(公告)日: | 2019-12-13 |
发明(设计)人: | 赵李挺;陈洁 | 申请(专利权)人: | 政采云有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/445;G06F8/30 |
代理公司: | 11637 北京智信禾专利代理有限公司 | 代理人: | 刘晓楠 |
地址: | 310024 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 类对象 服务执行 映射关系信息 目标标签 匹配 标签匹配 标签信息 动态选择 方式选择 获取目标 实际需求 预先存储 申请 服务 | ||
本申请提供一种服务执行方法及装置。所述服务执行方法,包括:获取目标标签信息和预先存储的映射关系信息;基于所述目标标签信息和映射关系信息,匹配与所述目标标签信息相对应的目标类对象;在匹配到目标类对象的情况下,执行所述目标类对象提供的服务。本申请提供的服务执行方法及装置,通过标签匹配的方式选择特定的类对象,并执行该类对象所提供的服务,实现了根据实际需求对类对象进行动态选择,大大提高了服务执行的灵活性。
技术领域
本申请涉及计算机技术领域,特别涉及一种服务执行方法及装置、计算设备及计算机可读存储介质。
背景技术
Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
服务供给接口(Service provider interface,SPI)是Java提供的一种服务加载方式。其中,一个服务(Service)通常指的是已知的接口或者抽象类,服务提供者(ServiceProvider)就是对这个接口或者抽象类的实现类。
Java原生的SPI机制中提供的服务加载器(ServiceLoader)加载的是类文件路径(Classpath)下的全部实现类,在进行具体的ServiceProvider执行的时候,只能通过遍历的方式来依次遍历ServiceProvider执行,并没有提供选择其中某个ServiceProvider执行的功能。
发明内容
有鉴于此,本申请实施例提供了一种服务执行方法及装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
本申请实施例公开了一种服务执行方法,包括:
获取目标标签信息和预先存储的映射关系信息;
基于所述目标标签信息和映射关系信息,匹配与所述目标标签信息相对应的目标类对象;
在匹配到目标类对象的情况下,执行所述目标类对象提供的服务。
进一步地,所述服务执行方法在所述获取目标标签信息和预先存储的映射关系信息之前,还包括:
为类对象添加标签配置,生成并存储携带有标签配置的类对象。
进一步地,所述服务执行方法在所述生成并存储携带有标签配置的类对象之后,还包括:
扫描目标目录中的类文件,获取每一个所述类对象的路径名称;
解析所述类对象的标签配置,得到所述类对象的路径名称与标签的映射关系信息。
进一步地,所述服务执行方法,在所述解析所述类对象的标签配置之前,还包括:
将所述类对象进行懒加载。
进一步地,所述映射关系信息包括映射关系表;
所述解析所述类对象的标签配置,得到所述类对象的路径名称与标签的映射关系信息,包括:
解析每一个所述类对象的标签配置,得到每一个所述类对象的路径名称与标签之间的映射关系;
基于所述类对象的路径名称与标签之间的映射关系,生成映射关系表;
所述基于所述目标标签信息和映射关系信息,匹配与所述目标标签信息相对应的目标类对象,包括:
在所述映射关系表中匹配与所述目标标签信息相对应的目标类对象的路径名称,并基于所述目标类对象的路径名称匹配目标类对象。
进一步地,所述服务执行方法还包括:
在未匹配到目标类对象的情况下,不执行任何一个所述类对象提供的服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于政采云有限公司,未经政采云有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910864908.X/2.html,转载请声明来源钻瓜专利网。