Ich bin mir nicht sicher, ob es sich um einen Fehler handelt, aber wenn Sie einen anderen Namen als redisMessageListenerContainer
angeben d.h. Spring berücksichtigt den Bean-Namen, dann funktioniert es gut.
@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;
}