Vous exécutez votre Elasticache en mode Redis Cluster (seul Redis Cluster répond avec MOVED
) mais la fabrique de connexions est configurée en mode autonome.
Spring Boot peut configurer automatiquement toutes les choses que vous avez configurées manuellement pour vous. Fondamentalement, supprimez votre CacheConfiguration
class (ou au moins supprimer la majorité du code) :
@Configuration
public class CacheConfiguration {
@Bean
public RedisTemplate<String, Company> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Company> template = new RedisTemplate();
template.setConnectionFactory(connectionFactory);
return template;
}
}
Et puis configurez les propriétés suivantes dans votre application.properties
fichier :
spring.redis.cluster.nodes=<node_host>:<port> # Comma-separated list of "host:port" pairs to bootstrap from.
Spring Boot charge application.properties
par défaut et la configuration automatique de Redis configure un RedisTemplate<Object, Object>
haricot par défaut. La spécialisation des beans est un cas d'utilisation valide - ne dupliquez pas ce qui est déjà fourni par la configuration automatique, surtout si vous voulez réaliser ce que fait la configuration automatique.
Voir aussi :
- Propriétés courantes de l'application
- Configuration externalisée