我遇到的问题与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链接中提出的问题似乎得到了答案,但我无法弄清楚确切的修复。
答案 0 :(得分:0)
好吧,我可能从https://github.com/spring-projects/spring-session/issues/448找到答案。它确实有效。任何人都有更好的解决方案,请随意添加。感谢。