SpringDataRedis 中定义消息的监听器| 学习笔记

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: 快速学习 SpringDataRedis 中定义消息的监听器。

开发者学堂课程【使用 Redis 消息队列完成秒杀过期订单处理 :SpringDataRedis 中定义消息的监听器】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/729/detail/13017


SpringDataRedis 中定义消息的监听器

 

在 Java 程序中监听 redis 消息

上章完成了在 java 代码端使用 spring data redis 的形式和 redis 服务器产生了交互,并且可以成功存放数据以及读取数据。

但本章不仅仅是和 redis 服务器存取的功能还需要接受 redis 服务器向用户发来的消息通知,在 spring data redis 中如果要接受 redis的消息通知还需要做两步操作:

1. 配置 java 消息的监听类

2. 将监听类配置到 spring data redis 的配置文件中。以下就是整个过程展示。

1.编写监听类

首先在 java 文件包中创建一个 class 监听类,命名为 redis 消息监听 RedisMessageListener

图片12.png

同时放到 cn.itcast.listener 这个包下。

在 spring data redis 中如果要接受 redis 的消息通知,需要配置一个监听类,同时还需要一个接口: MessageListener,所以点击 add,添加此接口,最后点击 finish 即可。

图片13.png

至此监听类 RedisMessageListener 就定义了一个消息通知的监听器 RedisMessageListener,其中有一个 onMessage方法是用来处理消息的,而对于 RedisMessageListener 其中配置的为 redis 消息的监听器,目的是获取 redis 中的消息病进行处理,同时其中的 message 参数:

指完成的消息,其中包含频道的信息,以及消息的具体内容 ,pattern:指获取的频道消息。

  • RedisMessageListener 代码如下:

package cn.itcast.listener;

import org.springframework.data.redis.connection.Message;

/**

*配器 redis 消息的监听器:

* 获取 redis 中的消息并进行处理

*/

public class RedisMessageListener implements MessageListener {

**

* onMessage :处理消息

* message:完整的消息(频道的信息,以及消息的具体内容)

* pattern:获取的频道信息

*/

public void onMessage(Message message, byte[ ] pattern{

//要输入得到的频道,而 message.getChannerl() 方法是 byte[] 数组形式,所以需要转义为字符串类型

//message.getBody() 表示获取消息主体,new String 表示转

义为字符串类型

system.out.println("从channel为: "+new String(message.getChannel())+"获取了条新的消息,消息内容为:"+new String(message.getBody());

}

}

到目前为止,自行定义的编译器代码全部完成。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
Java 容器
SpringBoot3 事件和监听器
SpringBoot3 事件和监听器
|
2月前
|
移动开发 前端开发 Java
Flowable 任务监听器与执行监听器的介绍
Flowable 任务监听器与执行监听器的介绍
216 0
|
2月前
|
Java Spring
除了spring自带的事件,你还可以这样使用事件
除了spring自带的事件,你还可以这样使用事件
21 3
|
12月前
|
设计模式 缓存 Java
Spring监听器用法与原理详解(带ApplicationListener模型图)(1)
Spring监听器用法与原理详解(带ApplicationListener模型图)
489 0
|
2月前
javaWeb监听器Listener -自定义监听器类实现
javaWeb监听器Listener -自定义监听器类实现
|
10月前
|
缓存 应用服务中间件 数据库
【JavaWeb】 三大组件之监听器 Listener
在JavaWeb应用程序中,Listener(监听器)是一种机制,用于监听和响应特定的事件。它可以感知并响应与应用程序相关的事件,从而执行相应的逻辑处理。事件是在应用程序运行过程中发生的特定动作或状态改变。例如,Web应用程序的启动和关闭、请求的到达和完成、会话的创建和销毁等都被认为是事件。监听器会注册对这些事件的感兴趣,并在事件发生时调用相应的回调方法来执行预定的业务逻辑。
|
11月前
|
XML 监控 Java
Listener 监听器介绍以及代码演示
Listener 监听器介绍以及代码演示
71 0
|
12月前
|
设计模式 缓存 Java
Spring监听器用法与原理详解(带ApplicationListener模型图)(2)
Spring监听器用法与原理详解(带ApplicationListener模型图)
179 0
|
Java Spring 容器
|
消息中间件 NoSQL Redis
SpringDataRedis 中配置消息的监听器| 学习笔记
快速学习 SpringDataRedis 中配置消息的监听器。
58 0