【发布时间】:2018-09-10 14:17:01
【问题描述】:
我的应用程序将一个“主”redis 实例用于会话存储和缓存等用途,但出于其他原因需要与一个单独的“外部”实例通信。我正在尝试确定在我的 Spring Boot 应用程序中配置它的“最佳”(“最惯用”?“最简单”?)方式。
理想情况下,我只想对主实例使用默认的自动配置,但是一旦我为外部实例注册了连接工厂,LettuceConnectionConfiguration 中的@ConditionalOnMissngBean({RedisConnectionFactory.class}) 条件就会变为 false,因此默认实例是没有创建。看看LettuceConnectionConfiguration 等还有什么情况。我觉得如果不需要的话我宁愿不手动配置它。
我不能将“外部”连接工厂公开为 bean,而只能在内部使用它来创建依赖它的 bean,但是,虽然在我的具体情况下可以,但我想了解是否有两个工厂都可以暴露的更好的解决方案。
有没有什么方法可以公开第二个RedisConnectionFactory 而不会禁用自动配置提供的默认值?有没有明确的“正确方法”来做这种事情?
【问题讨论】:
标签: spring spring-boot spring-java-config spring-data-redis