System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种注解热刷新方法、装置、设备及介质制造方法及图纸_技高网

一种注解热刷新方法、装置、设备及介质制造方法及图纸

技术编号:40610897 阅读:7 留言:0更新日期:2024-03-12 22:18
本发明专利技术公开了一种注解热刷新方法、装置、设备及介质。通过获取远程配置信息,得到配置资源列表;比对配置项键缓存列表对应的本地配置信息与远程配置信息,配置项键缓存列表中存储已获取的上一远程配置信息的配置项键;在本地配置信息与远程配置信息不匹配的情况下,触发配置变化监听器启动,以及基于远程配置信息更新配置项键缓存列表,配置变化监听器用于监听配置项键缓存列表的配置变化;在配置变化监听器监听到配置项键缓存列表的配置变化的情况下,发布环境变更事件;响应于环境变更事件的发布,基于更新后配置项键缓存列表对注解Bean类属性进行更新,以实现注解热刷新。本发明专利技术实施例可以通过配置项键缓存列表提高注解热刷新性能。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种注解热刷新方法、装置、设备及介质


技术介绍

1、spring注解作为一种声明式编程范式,减少了编码工作量,提高了程序可读性和可拓展性,随着越来越多的第三方组件加入到spring生态系统中,注解的使用范围越来越广。@configurationproperties注解可以实现配置项到bean类属性的映射,在多属性映射场景下被广泛使用,配置中心不仅要保证注解热刷新的可用性,还需要保障可靠性。随着配置中心配置托管增多,注解配置刷新的时间和资源消耗增大,特别是在高并发情况下,可能会导致响应时间长,cpu消耗高的情况。

2、现有技术方案中,配置刷新过程中需要对配置进行重新绑定,进行配置绑定时,针对每个属性,需要获取配置项键集合,实现方式为遍历配置资源列表,从资源列表中得到配置项键列表。并发配置发布场景下,客户端使用多线程进行并发刷新,多个线程同时执行刷新操作。

3、但是,现有技术获取配置项键列表的操作耗时长,并且该操作执行频繁,导致单次刷新效率低。


技术实现思路

1、本专利技术提供了一种注解热刷新方法、装置、设备及介质,以解决注解热刷新效率低的问题。

2、根据本专利技术的一方面,提供了一种注解热刷新方法,包括:

3、获取远程配置信息,得到配置资源列表;

4、比对配置项键缓存列表对应的本地配置信息与远程配置信息,配置项键缓存列表中存储已获取的上一远程配置信息的配置项键;

5、在本地配置信息与远程配置信息不匹配的情况下,触发配置变化监听器启动,以及基于远程配置信息更新配置项键缓存列表,配置变化监听器用于监听配置项键缓存列表的配置变化;

6、在配置变化监听器监听到配置项键缓存列表的配置变化的情况下,发布环境变更事件;响应于环境变更事件的发布,基于更新后配置项键缓存列表对注解bean类属性进行更新,以实现注解热刷新。

7、根据本专利技术的另一方面,提供了一种注解热刷新装置,包括:

8、配置资源列表生成模块,用于获取远程配置信息,得到配置资源列表;

9、本地远程配置信息比对模块,用于配置项键缓存列表对应的本地配置信息与远程配置信息,配置项键缓存列表中存储已获取的上一远程配置信息的配置项键;

10、配置变化监听模块,用于在本地配置信息与远程配置信息不匹配的情况下,触发配置变化监听器启动,以及基于远程配置信息更新配置项键缓存列表,配置变化监听器用于监听配置项键缓存列表的配置变化;

11、bean类属性更新模块,用于在配置变化监听器监听到配置项键缓存列表的配置变化的情况下,发布环境变更事件;响应于环境变更事件的发布,基于更新后配置项键缓存列表对注解bean类属性进行更新,以实现注解热刷新。

12、根据本专利技术的另一方面,提供了一种电子设备,电子设备包括:

13、至少一个处理器;以及

14、与至少一个处理器通信连接的存储器;其中,

15、存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本专利技术任一实施例的注解热刷新方法。

16、根据本专利技术的另一方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本专利技术任一实施例的注解热刷新方法。

17、本实施例的技术方案,通过获取远程配置信息,得到配置资源列表;比对配置项键缓存列表对应的本地配置信息与远程配置信息,配置项键缓存列表中存储已获取的上一远程配置信息的配置项键;在本地配置信息与远程配置信息不匹配的情况下,触发配置变化监听器启动,以及基于远程配置信息更新配置项键缓存列表,配置变化监听器用于监听配置项键缓存列表的配置变化;在配置变化监听器监听到配置项键缓存列表的配置变化的情况下,发布环境变更事件;响应于环境变更事件的发布,基于更新后配置项键缓存列表对注解bean类属性进行更新,以实现注解热刷新,基于配置项键缓存列表获取bean类属性对应的配置项键,在配置项键缓存列表中没有对应配置项键的情况下,再遍历配置资源列表得到对应配置项,而不是完全从配置资源列表中获取对应配置项键,解决了配置资源列表中配置项键过多导致的注解热刷新效率低的问题,在注解修饰bean类多、属性多且复杂的场景下,显著提高了注解热刷新性能。

18、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其他特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种注解热刷新方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取远程配置信息,包括:

3.根据权利要求2所述的方法,其特征在于,所述服务端检测远程配置信息更新的方法,包括:

4.根据权利要求1所述的方法,其特征在于,所述基于更新后配置项键缓存列表对注解Bean类属性进行更新,包括:

5.根据权利要求1或4所述的方法,其特征在于,所述对注解Bean类属性进行更新,包括:

6.根据权利要求5所述的方法,其特征在于,所述获取所述Bean类属性对应的配置信息,包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.一种注解热刷新装置,其特征在于,包括:

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的注解热刷新方法。

【技术特征摘要】

1.一种注解热刷新方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取远程配置信息,包括:

3.根据权利要求2所述的方法,其特征在于,所述服务端检测远程配置信息更新的方法,包括:

4.根据权利要求1所述的方法,其特征在于,所述基于更新后配置项键缓存列表对注解bean类属性进行更新,包括:

5.根据权利要求1或4所述的方法,其特征在于,所述对注解bean类属性进行更新,包括:

【专利技术属性】
技术研发人员:吴海冰高学广刘长勇孙振华
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1