Можно ли использовать RedisRepositories и KeyValueRepositories?

Я пытаюсь использовать @EnableRedisRepositories и @EnableMapRepositories в проекте и получаю следующее сообщение об ошибке:

Связанная причина: org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем «redisConverter»: неудовлетворенная зависимость, выраженная через параметр конструктора 0: не удалось преобразовать значение аргумента типа [org.springframework.data.keyvalue.core.mapping. context.KeyValueMappingContext] в требуемый тип [org.springframework.data.redis.core.mapping.RedisMappingContext]: не удалось преобразовать значение типа «org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext» в требуемый тип « org.springframework.data.redis.core.mapping.RedisMappingContext'; вложенным исключением является java.lang.IllegalStateException: невозможно преобразовать значение типа «org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext» в требуемый тип «org.springframework.data.redis.core.mapping.RedisMappingContext»: не найдено подходящих редакторов или стратегий конверсии

Так можно ли использовать оба в одном проекте?


person vrish88    schedule 24.06.2018    source источник
comment
Вы поняли это?   -  person Michel Jung    schedule 11.10.2018


Ответы (1)


Известная проблема https://jira.spring.io/browse/DATAREDIS-846.

В качестве обходного пути вы можете отключить автоматическую настройку репозитория:

spring.data.redis.repositories.enabled=false

И добавить

@EnableRedisRepositories(basePackages="org.my.redis.repositories")

вместо.

person Taras Danylchuk    schedule 22.01.2020
comment
Вам также необходимо убедиться, что @EnableRedisRepositories обрабатывается до @EnableMapRepositories значения; если они находятся в одном классе, @EnableRedisRepositories должен отображаться поверх @EnableMapRepositories. - person Soner Koksal; 19.08.2020