Вие изпълнявате своя Elasticache в режим Redis Cluster (само Redis Cluster отговаря с MOVED
), но фабриката за свързване е конфигурирана в самостоятелен режим.
Spring Boot може автоматично да конфигурира всички неща, които сте настроили ръчно вместо вас. По принцип премахнете вашата CacheConfiguration
клас (или поне премахнете по-голямата част от кода):
@Configuration
public class CacheConfiguration {
@Bean
public RedisTemplate<String, Company> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Company> template = new RedisTemplate();
template.setConnectionFactory(connectionFactory);
return template;
}
}
След това конфигурирайте следните свойства във вашия application.properties
файл:
spring.redis.cluster.nodes=<node_host>:<port> # Comma-separated list of "host:port" pairs to bootstrap from.
Spring Boot зарежда application.properties
по подразбиране и Redis auto-config конфигурира RedisTemplate<Object, Object>
фасул по подразбиране. Специализираните бинове са валиден случай на употреба – не дублирайте това, което вече е предоставено от auto-config, особено ако искате да постигнете това, което прави auto-config.
Вижте също:
- Общи свойства на приложението
- Външна конфигурация