欢迎光临seo外链资源网站,我们为你英文友情链接的信息及服务

seo外链资源

一个资源好的推广优化外链发布网站,为你解决外链获客难题

Spring Boot使用Redis进行消息的发布与订阅

作者:jcmp      发布时间:2021-05-08      浏览量:0
Redis 不仅提供一个NoSQL数据库

Redis 不仅提供一个NoSQL数据库,同时还提供了一套消息系统。 下面我将Spring Boot使用Redis进行消息的发布与订阅具体的流程分享给大家。

首先引入依赖

org.springframework.boot spring-boot-starter-redis 1.4.7.RELEASE

1.发送消息

@SpringBootApplication@EntityScan(basePackages= {"cn.sh.sttri.app.messagepush"})@EnableCaching@EnableSchedulingpublic class MessagepushApplication { public static void main(String[] args) { ApplicationContext ct=SpringApplication.run(MessagepushApplication.class, args); StringRedisTemplate template = ct.getBean(StringRedisTemplate.class); template.convertAndSend("messagepush", "Hello message !"); template.convertAndSend("messagepush3", "Hello message3 !"); }}

发送消息我们使用StringRedisTemplate来发送键和值均为字符串的消息。在main()方法中我们创建一个Spring应用的Context,初始化消息监听者容器,开始监听消息。然后获取StringRedisTemplate的实例,往messagepush和messagepush3两个主题发送消息。

2.Redis 配置消息通道

创建一个Redis消息配置类 连接工程我们使用Spring Boot默认的RedisConnectionFactory 我们将在listenerAdapter方法中定义的Bean注册为一个消息监听者,它将监听messagepush和messagepush3两个主题的消息。

3.处理MessageReceive 消息接收类的receiveMessage()处理业务。

/**redis 消息处理器*/@Componentpublic class MessageReceive { @Autowired private MessageReceiveHandler messageReceiveHandler; /**接收消息的方法*/ public void receiveMessage(String message){ //System.out.println(message); messageReceiveHandler.messagePush(message); }}

到MessageReceiveHandler 类中调用messagePush()。

@Componentpublic class MessageReceiveHandler { public void messagePush(String message){ System.out.println("----------收到消息了message:"+message); }}

到这里一个完整的Spring Boot使用Redis进行消息的发布与订阅过程就打通了。