Я использую салат через API весенней загрузки org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory
.
Мой bean-компонент настроен как
@Bean
public LettuceConnectionFactory lettuceSentinelConnectionFactory() {
RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration(mastername, new HashSet<>(sentinelnodes));
return new LettuceConnectionFactory(sentinelConfig);
}
Это работает нормально, за исключением повторного подключения после изменений топологии, что приводит к исключениям.
io.lettuce.core.RedisCommandExecutionException: READONLY You can't write against a read only slave.
Некоторые отчеты об ошибках, похоже, подтверждают это поведение .
С большим интересом я прочитал, что салат-латук реализует динамический c обнаружитель топологии для часовых SentinelTopologyProvider , который должен элегантно решить проблему.
Однако я не могу заставить LettuceConnectionFactory использовать этот динамический c SentinelTopologyProvider, и поиск в Google тоже ничего не вернул.
Может ли кто-нибудь дать подсказку или пример кода о том, как написать этот код?