springboot + redis 发布订阅模式

springboot + redis 发布订阅模式

注册订阅类

public class MessageReceiver {

	/**接收消息的方法*/
	public void receiveMessage(String message){
		System.out.println("收到一条消息:"+message);
	}
}
	@Bean
	public MessageReceiver messageReceiver(){

		return new MessageReceiver();
	}

	@Bean
	public MessageListenerAdapter messageListenerAdapter(MessageReceiver messageReceiver){

		return new MessageListenerAdapter(messageReceiver,"receiveMessage");
	}

	@Bean
	public RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
	                                        MessageListenerAdapter listenerAdapter) {

		RedisMessageListenerContainer container = new RedisMessageListenerContainer();
		container.setConnectionFactory(connectionFactory);
		//订阅了一个叫chat 的通道
		container.addMessageListener(listenerAdapter, new PatternTopic("chat"));
		//这个container 可以添加多个 messageListener
		return container;
	}

发布消息API

stringRedisTemplate.convertAndSend("chat",message);
发布了43 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43866295/article/details/86673113