调用消息的方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:24852712 阅读:17 留言:0更新日期:2020-07-10 19:06
本发明专利技术公开了一种调用消息的方法、装置、计算机设备及存储介质,该方法包括:扫描目标文件,并判断在所述目标文件中是否包含目标注解;在包含所述目标注解的情况下,解析出所述目标注解中的多个注解项以及每个注解项的属性值;根据所述目标注解中的多个注解项在常量池里构建Bean,并根据所述目标注解中的每个注解项的属性值对构建的Bean进行实例化;执行实例化后的Bean,以进行消息调用;本发明专利技术可以降低用户使用消息中间件以进行消息调用的难度。

【技术实现步骤摘要】
调用消息的方法、装置、计算机设备及存储介质
本专利技术涉及计算机
,具体涉及一种调用消息的方法、装置、计算机设备及存储介质。
技术介绍
消息中间件利用高效可靠的消息传递机制可以进行平台无关的数据交流,消息中间件尤其适用于需要可靠的数据传送的分布式环境中;消息中间件已经逐渐成为企业IT系统内部通信的核心手段;当今市面上有很多主流的消息中间件,其中,RocketMQ是比较常用的一种;但是,在使用RocketMQ时需要使用者配置一系列的参数信息,并需要注册一个MessageListener,使用起来不是很方便,且对于使用者有一定的技术要求;如何降低使用RocketMQ的难度,成为亟需解决的技术问题。
技术实现思路
本专利技术的目的在于提供一种调用消息的方法、装置、计算机设备及存储介质,可以降低用户使用消息中间件以调用消息的难度。根据本专利技术的一个方面,提供了一种调用消息的方法,具体包括以下步骤:扫描目标文件,并判断在所述目标文件中是否包含目标注解;在包含所述目标注解的情况下,解析出所述目标注解中的多个注解项以及每个注解项的属性值;根据所述目标注解中的多个注解项在常量池里构建Bean,并根据所述目标注解中的每个注解项的属性值对构建的Bean进行实例化;执行实例化后的Bean,以进行消息调用。可选的,在所述扫描目标文件,并判断在所述目标文件中是否包含目标注解之前,所述方法还包括:接收构建注解指令;其中,所述构建注解指令包括:属性值;根据所述构建注解指令构建出至少包含以下注解项的目标注解:消费者集群ConsumerGroup、消息主题Topic、和路由服务器地址NameserverAddress;将所述构建注解指令中的属性值添加到所述目标注解中的对应注解项中;将所述目标注解添加到所述目标文件的预设位置处。可选的,所述扫描目标文件,并判断在所述目标文件中是否包含目标注解,具体包括:逐行扫描所述目标文件中的代码,并判断在所述目标文件中是否包含预设注解标识;若是,则判定在所述目标文件中包含所述目标注解。可选的,所述在包含所述目标注解的情况下,解析出所述目标注解中的多个注解项以及每个注解项的属性值,具体包括:利用Spring的后置处理器,将所述目标注解加载到常量池里,并通过注解解析器,获取所述目标注解中的各种注解项以及各种注解项的属性值。可选的,所述根据所述目标注解中的多个注解项在常量池里构建Bean,并根据所述目标注解中的每个注解项的属性值对构建的Bean进行实例化,具体包括:从所述常量池中获取预设的消息中间件的Bean框架;其中,在所述Bean框架中包括多个需要添加属性值的注解项;将所述目标注解中的各个注解项的属性值添加到所述Bean框架的对应位置处。可选的,所述执行实例化后的Bean,以进行消息调用,具体包括:根据所述目标注解中的消费者集群ConsumerGroup确定出目标消费者集群,并从所述目标消费者集群中确定出一个目标消费者;根据所述目标注解中的路由服务器地址NameserverAddress确定出目标路由服务器,并在所述目标消费者与所述目标路由服务器之间建立长链接;根据所述目标注解中的消息主题Topic,从所述目标路由服务器中获取与所述消息主题Topic对应的Broker,并建立所述目标消费者与所述Broker之间的长链接;所述目标消息者从所述Broker中获取与所述消息主题Topic对应的消息。根据本专利技术的另一个方面,还提供了一种调用消息的装置,具体包括以下组成部分:扫描模块,用于扫描目标文件,并判断在所述目标文件中是否包含目标注解;解析模块,用于在包含所述目标注解的情况下,解析出所述目标注解中的多个注解项以及每个注解项的属性值;构建模块,用于根据所述目标注解中的多个注解项在常量池里构建Bean,并根据所述目标注解中的每个注解项的属性值对构建的Bean进行实例化;执行模块,用于执行实例化后的Bean,以进行消息调用。可选的,所述装置还包括:处理模块,用于接收构建注解指令;其中,所述构建注解指令包括:属性值;根据所述构建注解指令构建出至少包含以下注解项的目标注解:消费者集群ConsumerGroup、消息主题Topic、和路由服务器地址NameserverAddress;将所述构建注解指令中的属性值添加到所述目标注解中的对应注解项中;将所述目标注解添加到所述目标文件的预设位置处。根据本专利技术的另一个方面,还提供了一种计算机设备,具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述调用消息的方法的步骤。根据本专利技术的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述调用消息的方法的步骤。本专利技术提供的调用消息的方法、装置、计算机设备及存储介质,利用Spring的自定义注解功能,开发出了自定义注解,在服务启动的时候,利用Spring的后置处理器,将所述自定义注解加载到维护Bean的常量池里,然后通过注解解析器,拿出所述自定义注解中的各种注解项,并根据所述各种注解项生成对应的Bean,再根据所述自定义注解中的各种注解项的注解内容实例化对应的Bean,最后执行实例化的Bean以进行消息调用;通过本专利技术,用户在调用消息中间件时就不再需要引入一堆配置文件,而只需要通过一个注解就可以调用消息中间件,并实现消息中间件的调用消息的功能。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为实施例一提供的调用消息的方法的一种可选的流程示意图;图2为实施例二提供的调用消息的装置的一种可选的程序模块示意图;图3为实施例三提供的计算机设备的一种可选的硬件架构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一本专利技术实施例提供了一种调用消息的方法,如图1所示,该方法具体包括以下步骤:步骤S101:扫描目标文件,并判断在所述目标文件中是否包含目标注解。具体的,步骤S101,包括:逐行扫描所述目标文件中的代码,并判断在所述目标文件中是否包含预设注解标识;若是,则判定在所述目标文件中包含所述目标注解。优选的,所述预设注解标识为:@RocketListenr。...

【技术保护点】
1.一种调用消息的方法,其特征在于,所述方法包括:/n扫描目标文件,并判断在所述目标文件中是否包含目标注解;/n在包含所述目标注解的情况下,解析出所述目标注解中的多个注解项以及每个注解项的属性值;/n根据所述目标注解中的多个注解项在常量池里构建Bean,并根据所述目标注解中的每个注解项的属性值对构建的Bean进行实例化;/n执行实例化后的Bean,以进行消息调用。/n

【技术特征摘要】
1.一种调用消息的方法,其特征在于,所述方法包括:
扫描目标文件,并判断在所述目标文件中是否包含目标注解;
在包含所述目标注解的情况下,解析出所述目标注解中的多个注解项以及每个注解项的属性值;
根据所述目标注解中的多个注解项在常量池里构建Bean,并根据所述目标注解中的每个注解项的属性值对构建的Bean进行实例化;
执行实例化后的Bean,以进行消息调用。


2.根据权利要求1所述的调用消息的方法,其特征在于,在所述扫描目标文件,并判断在所述目标文件中是否包含目标注解之前,所述方法还包括:
接收构建注解指令;其中,所述构建注解指令包括:属性值;
根据所述构建注解指令构建出至少包含以下注解项的目标注解:消费者集群ConsumerGroup、消息主题Topic、和路由服务器地址NameserverAddress;
将所述构建注解指令中的属性值添加到所述目标注解中的对应注解项中;
将所述目标注解添加到所述目标文件的预设位置处。


3.根据权利要求1所述的调用消息的方法,其特征在于,所述扫描目标文件,并判断在所述目标文件中是否包含目标注解,具体包括:
逐行扫描所述目标文件中的代码,并判断在所述目标文件中是否包含预设注解标识;
若是,则判定在所述目标文件中包含所述目标注解。


4.根据权利要求1所述的调用消息的方法,其特征在于,所述在包含所述目标注解的情况下,解析出所述目标注解中的多个注解项以及每个注解项的属性值,具体包括:
利用Spring的后置处理器,将所述目标注解加载到常量池里,并通过注解解析器,获取所述目标注解中的各种注解项以及各种注解项的属性值。


5.根据权利要求1所述的调用消息的方法,其特征在于,所述根据所述目标注解中的多个注解项在常量池里构建Bean,并根据所述目标注解中的每个注解项的属性值对构建的Bean进行实例化,具体包括:
从所述常量池中获取预设的消息中间件的Bean框架;其中,在所述Bean框架中包括多个需要添加属性值的注解项;
将所述目标注解中的各个注解项的属性值添加到所述Bean框架的对应位置处。

...

【专利技术属性】
技术研发人员:李留旗
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东;44

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

1