Redis
 sql >> Database >  >> NoSQL >> Redis

Redis:prendi in considerazione la ridenominazione di uno dei bean o l'abilitazione dell'override impostando spring.main.allow-bean-definition-overriding=true

Non sono sicuro che sia un bug, ma se dai un nome diverso da redisMessageListenerContainer cioè Spring considererà il nome del fagiolo, quindi funziona bene.

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