Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Redis – Erwägen Sie, eine der Beans umzubenennen oder das Überschreiben zu aktivieren, indem Sie spring.main.allow-bean-definition-overriding=true festlegen

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;
    }