Tôi không chắc đó có phải là lỗi hay không, nhưng nếu bạn đặt bất kỳ tên nào khác ngoài redisMessageListenerContainer
tức là Spring sẽ xem xét tên bean, sau đó nó hoạt động tốt.
@Bean
RedisMessageListenerContainer listener(RedisConnectionFactory rcf) {
MessageListener ml = (message, pattern) -> {
String str = new String(message.getBody());
log.info("message from ' " + TOPIC + "':'" + str);
};
RedisMessageListenerContainer mlc = new RedisMessageListenerContainer();
mlc.setConnectionFactory(rcf);
mlc.addMessageListener(ml, new PatternTopic(TOPIC));
return mlc;
}