订阅消息的方法及终端设备技术

技术编号:21999798 阅读:29 留言:0更新日期:2019-08-31 05:17
本发明专利技术适用于消息监听技术领域,提供了一种订阅消息的方法及终端设备,该方法包括:配置订阅消息;解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名;根据所述接收器类名对接收器实例化,获得实例化接收器;将所述实例化接收器集成到消息订阅的所述频道的监听容器中,以实现对所述订阅消息的监听,旨在解决现有技术中,消息订阅配置工作量大、不易扩展与维护的问题。

Subscription Method and Terminal Equipment

【技术实现步骤摘要】
订阅消息的方法及终端设备
本专利技术属于消息监听
,尤其涉及一种订阅消息的方法及终端设备。
技术介绍
传统的基于Springboot的Redis配置方案较为单一,由于Springboot提供的Redis最基础的配置方式是单个订阅集成于框架的模式。在实际的业务开发中,往往需要根据业务的不同对mq(messagequeue,消息队列)进行不同消息类别的订阅。用传统方式处理,就需要在应用中对每个消息订阅逐个配置,无论是对于开发工作量还是后续的代码管理,都极其不方便。
技术实现思路
有鉴于此,本专利技术实施例提供了一种订阅消息的方法及终端设备,旨在解决现有技术中,消息订阅配置工作量大、不易扩展与维护的问题。本专利技术实施例的第一方面提供了一种订阅消息的方法,包括:配置订阅消息;解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名;根据所述接收器类名对接收器实例化,获得实例化接收器;将所述实例化接收器集成到消息订阅的所述频道的监听容器中,以实现对所述订阅消息的监听。在一实施例中,所述配置订阅消息,包括:采用yaml的数组结构,在每一数组中配置接收器、消息订阅的频道和接收端;或者,采用预设注解模式,在注解中标注消息订阅的频道、包含待处理的对象消息的接收器以及系统输出消息。在一实施例中,所述解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名,包括:读取数组配置消息或者扫描注解配置消息,获取配置消息;解析所述配置消息,获取所述订阅消息的频道和所述订阅消息的接收器类名。在一实施例中,在所述解析所述配置消息,获取所述订阅消息的频道和所述订阅消息的接收器类名之前,还包括:根据所述配置消息,创建消息订阅的监听容器和订阅异常的动态代理器。在一实施例中,所述根据所述接收器类名对接收器实例化,获得实例化接收器,包括:根据所述接收器类名,采用工厂设计模式的方式实例化接收器接口类,获得实例化接收器。在一实施例中,在所述将所述实例化接收器集成到消息订阅的所述频道的监听容器中,以实现对所述订阅消息的监听之后,还包括:将所述监听容器注入到spring容器中。本专利技术实施例的第二方面提供了一种订阅消息的装置,包括:配置模块,用于配置订阅消息;解析模块,用于解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名;实例化处理模块,用于根据所述接收器类名对接收器实例化,获得实例化接收器;集成模块,用于将所述实例化接收器集成到消息订阅的所述频道的监听容器中,以实现对所述订阅消息的监听。在一实施例中,所述解析模块,用于读取数组配置消息或者扫描注解配置消息,获取配置消息;以及解析所述配置消息,获取所述订阅消息的频道和所述订阅消息的接收器类名。本专利技术实施例的第三方面提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述订阅消息所述方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述订阅消息所述方法的步骤。本专利技术实施例与现有技术相比存在的有益效果是:本专利技术实施例通过解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名;根据所述接收器类名对接收器实例化,获得实例化接收器;将所述实例化接收器集成到消息订阅的所述频道的监听容器中,以实现对所述订阅消息的监听。与现有技术中需要在应用中对每个消息订阅逐个配置对比,本实施例只需通过配置订阅消息,例如通过数组结构配置或一个注解就可以实现一个消息频道订阅,缩减了大量的配置代码,并且代码维护也更简单。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种订阅消息的方法的实现流程示意图;图2是本专利技术实施例提供的解析订阅消息的配置类的流程示意图;图3是本专利技术实施例提供的一种订阅消息的装置的示例图;图4是本专利技术实施例提供的终端设备的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。本专利技术实施例提供一种订阅消息的,如图1所示,该方法包括以下步骤:步骤101,配置订阅消息。在配置订阅消息时,主要配置消息订阅的频道以及接收器具体实现类,在本实施例中可以采用yaml的数组结构或者使用注解的方式进行配置。可选的,采用yaml的数组结构实现配置订阅消息具体为:采用yaml的数组结构,在每一数组中配置接收器、消息订阅的频道和接收端。例如,其中,topicReceiver[0]表示配置标号为0的接收器;topic:topic0表示配置的内容,即本实施例中的消息订阅的频道,receiver表示配置的消息接收端。进一步的,当需要订阅多种消息时,可以通过多个数组结构实现不同消息的订阅配置,代码维护与扩展更容易。可选的,采用注解的方式实现配置订阅消息具体为:采用预设注解模式,在注解中配置消息订阅的频道、包含待处理的对象消息的接收器以及系统输出消息,例如,进一步的,当需要订阅多种消息时,可以通过多个注解实现不同消息的订阅配置,代码维护与扩展更容易。步骤102,解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名。可选的,如图2所示,步骤102可以通过以下子步骤实现:步骤201,读取数组配置消息或者扫描注解配置消息,获取配置消息。可选的,在项目启动时,读取数组配置消息或者扫描注解配置消息,获取具体的配置消息,即获取每一数组中配置的配置接收器、消息订阅的频道和接收端,或者获取注解中的消息订阅的频道、包含待处理的对象消息的接收器以及系统输出消息。步骤203,解析所述配置消息,获取所述订阅消息的频道和所述订阅消息的接收器类名。本步骤中,订阅消息的频道即实现订阅消息监听的消息位置。进一步的,根据解析获得的订阅消息的接收器类名以及接收器,判断是否可以实现接收器接口,当接收器接口实现后就可以对接收器进行实例化处理,即继续执行步骤103。可选的,在步骤203之前,步骤102还可以包括以下子步骤:步骤202,根据所述配置消息,创建消息订阅的监听容器和订阅异常的动态代理器。可选的,在异常处理中,采用切面编程的方案,即动态代理的方式,改造原来的Redis异常处理方法,具体的在异常处理方法上做环绕切面,重写自定义的异常业务规则。自定义的异常业务规则根据具体的实施例具体设置。步骤103,根据所述接收器类名对接收器实例化,获得实例化接收器。可选的,根据所述接收器类名,采用工厂设计模式的方式实例化接收器接口类,获得实例化接收器,即采用Java反射的原理本文档来自技高网...

【技术保护点】
1.一种订阅消息的方法,其特征在于,包括:配置订阅消息;解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名;根据所述接收器类名对接收器实例化,获得实例化接收器;将所述实例化接收器集成到消息订阅的所述频道的监听容器中,以实现对所述订阅消息的监听。

【技术特征摘要】
1.一种订阅消息的方法,其特征在于,包括:配置订阅消息;解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名;根据所述接收器类名对接收器实例化,获得实例化接收器;将所述实例化接收器集成到消息订阅的所述频道的监听容器中,以实现对所述订阅消息的监听。2.如权利要求1所述的订阅消息的方法,其特征在于,所述配置订阅消息,包括:采用yaml的数组结构,在每一数组中配置接收器、消息订阅的频道和接收端;或者,采用预设注解模式,在注解中标注消息订阅的频道、包含待处理的对象消息的接收器以及系统输出消息。3.如权利要求2所述的订阅消息的方法,其特征在于,所述解析所述订阅消息的配置类,获取所述订阅消息的频道和所述订阅消息的接收器类名,包括:读取数组配置消息或者扫描注解配置消息,获取配置消息;解析所述配置消息,获取所述订阅消息的频道和所述订阅消息的接收器类名。4.如权利要求3所述的订阅消息的方法,其特征在于,在所述解析所述配置消息,获取所述订阅消息的频道和所述订阅消息的接收器类名之前,还包括:根据所述配置消息,创建消息订阅的监听容器和订阅异常的动态代理器。5.如权利要求1至4中任一项所述的订阅消息的方法,其特征在于,所述根据所述接收器类名对接收器实例化,获得实例化接收器,包括:根据所述接收器类...

【专利技术属性】
技术研发人员:林琛强王敬卿蒙珊珊
申请(专利权)人:厦门科灿信息技术有限公司科华恒盛股份有限公司
类型:发明
国别省市:福建,35

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

1