如何为RedisHttpSessionConfiguration初始化指定JedisConnectionFactory实例

时间:2017-01-11 14:49:24

标签: java spring redis

我遇到的问题与https://github.com/spring-projects/spring-session/issues/438中描述的完全相同,我试图将特定的JedisConnectionFactory自动装配到RedisHttpSessionConfiguration。但它无法使用NoUniqueBeanDefinitionException创建bean。详细的错误消息是这样的,

org.springframework.beans.factory.NoUniqueBeanDefinitionException:没有定义[org.springframework.data.redis.connection.RedisConnectionFactory]类型的限定bean:期望的单个匹配bean但找到2:jedisConnectionFactory,jedisConnectionFactory4C

以下是我在applicationContext.xml中为RedisHttpSessionConfiguraiton提供的内容,

 <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
    <property name="maxInactiveIntervalInSeconds" value="600"></property>

以下是连接工厂。

                                                        

<!-- caching redis-->
<bean id="jedisConnectionFactory4C" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property name="hostName" value="${redis.host}" /> 
    <property name="password" value="${redis.passwd}" /> 
    <property name="port" value="${redis.port}" />
    <property name="database" value="${redis.cacheddb}" />
    <property name="poolConfig" ref="poolConfig"/>
</bean>

在github链接中提出的问题似乎得到了答案,但我无法弄清楚确切的修复。

1 个答案:

答案 0 :(得分:0)

好吧,我可能从https://github.com/spring-projects/spring-session/issues/448找到答案。它确实有效。任何人都有更好的解决方案,请随意添加。感谢。