@Configuration
public class RedisMessageConfig {

@Beanpublic RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,                                               MessageListenerAdapter listenerAdapter){    RedisMessageListenerContainer container = new RedisMessageListenerContainer();    container.setConnectionFactory(connectionFactory);    container.addMessageListener(listenerAdapter,new PatternTopic("mytopic"));    return container;}@Beanpublic MessageListenerAdapter listenerAdapter() {    return new MessageListenerAdapter(new Receiver(), "receiveMessage");}

}

@Slf4j
public class Receiver {

public void receiveMessage(String message) {    log.info("Received <" + message + ">");}

}

其中"mytopic"相当于redis外面的channel频道, 客户端始终在监听这个频道。
关上redis客户端, 忘channel发送音讯,留神返回值,返回值0代表没有监听者接管到音讯,如果接管到音讯则返回1

客户端接管到公布的音讯

目前测试这个公布订阅遇到的坑点

  1. springboot整合的redis监听器老是过一段时间的生效而接管不到音讯
  2. 由下面的起因 造成音讯失落