Требовался bean-компонент типа org.springframework.session.data.redis.RedisIndexedSessionRepository, который не удалось ⇐ JAVA
Требовался bean-компонент типа org.springframework.session.data.redis.RedisIndexedSessionRepository, который не удалось
У меня есть проект, использующий Spring Boot, который использует Spring-Boot-Starter-Data-Redis для управления распределенным сеансом, который работает нормально.
Я попытался перейти на Spring Boot 3, но получил следующую ошибку.
Рассмотрите возможность определения bean-компонента типа org.springframework.session.data.redis.RedisIndexedSessionRepository в вашей конфигурации. Чтобы исправить вышеуказанную ошибку, я определил компонент, как показано ниже.
@Bean public RedisIndexedSessionRepository redisIndexedSessionRepository(RedisTemplate redisTemplate) { вернуть новый RedisIndexedSessionRepository(redisTemplate); } После этого появилась новая ошибка, как показано ниже.
требовался один bean-компонент, но были найдены два: - redisIndexedSessionRepository: определяется методом redisIndexedSessionRepository в ресурсе пути к классу [com/google/ussm/config/UssmConfig.class] - sessionRepository: определяется методом sessionRepository в ресурсе пути к классу [org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class] Чтобы исправить эту ошибку, пригодился приведенный ниже код.
@Primary @Бин public RedisIndexedSessionRepository redisIndexedSessionRepository(RedisTemplate redisTemplate) { вернуть новый RedisIndexedSessionRepository(redisTemplate); } Теперь приложение работает нормально, но SessionExpiredEvent и SessionDeletedEvent не запускаются в приложении.
Также я заметил, что в redis :index:org.springframework.session.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME отсутствует , что и составляет описанную выше проблему.
Прошу предложения по исправлению этой ошибки.
Заранее спасибо.
У меня есть проект, использующий Spring Boot, который использует Spring-Boot-Starter-Data-Redis для управления распределенным сеансом, который работает нормально.
Я попытался перейти на Spring Boot 3, но получил следующую ошибку.
Рассмотрите возможность определения bean-компонента типа org.springframework.session.data.redis.RedisIndexedSessionRepository в вашей конфигурации. Чтобы исправить вышеуказанную ошибку, я определил компонент, как показано ниже.
@Bean public RedisIndexedSessionRepository redisIndexedSessionRepository(RedisTemplate redisTemplate) { вернуть новый RedisIndexedSessionRepository(redisTemplate); } После этого появилась новая ошибка, как показано ниже.
требовался один bean-компонент, но были найдены два: - redisIndexedSessionRepository: определяется методом redisIndexedSessionRepository в ресурсе пути к классу [com/google/ussm/config/UssmConfig.class] - sessionRepository: определяется методом sessionRepository в ресурсе пути к классу [org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class] Чтобы исправить эту ошибку, пригодился приведенный ниже код.
@Primary @Бин public RedisIndexedSessionRepository redisIndexedSessionRepository(RedisTemplate redisTemplate) { вернуть новый RedisIndexedSessionRepository(redisTemplate); } Теперь приложение работает нормально, но SessionExpiredEvent и SessionDeletedEvent не запускаются в приложении.
Также я заметил, что в redis :index:org.springframework.session.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME отсутствует , что и составляет описанную выше проблему.
Прошу предложения по исправлению этой ошибки.
Заранее спасибо.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение