Stai eseguendo Elasticache in modalità Redis Cluster (solo Redis Cluster risponde con MOVED
) ma la factory di connessione è configurata in modalità standalone.
Spring Boot può configurare automaticamente tutte le cose che hai impostato manualmente per te. Fondamentalmente, rimuovi il tuo CacheConfiguration
class (o almeno rimuovere la maggior parte del codice):
@Configuration
public class CacheConfiguration {
@Bean
public RedisTemplate<String, Company> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Company> template = new RedisTemplate();
template.setConnectionFactory(connectionFactory);
return template;
}
}
E quindi configura le seguenti proprietà nel tuo application.properties
file:
spring.redis.cluster.nodes=<node_host>:<port> # Comma-separated list of "host:port" pairs to bootstrap from.
Spring Boot carica application.properties
per impostazione predefinita e la configurazione automatica di Redis configura un RedisTemplate<Object, Object>
fagiolo per impostazione predefinita. La specializzazione dei bean è un caso d'uso valido:non duplicare ciò che è già fornito dalla configurazione automatica, soprattutto se vuoi ottenere ciò che fa la configurazione automatica.
Vedi anche:
- Proprietà comuni dell'applicazione
- Configurazione esternalizzata