一、错误描述:
此错误导致了web 应用无法启动,根据日志内容分析该问题属于SPRING配置问题。
二、具体错误信息:
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'redisDao' defined in ServletContext resource [/WEB-INF/classes/dataSource-bean.xml]: Unsatisfied dependency expressed through constructor argument with index 1 of type [java.util.Set]: Ambiguous constructor argument types - did you specify the correct bean references as constructor arguments?
三、解决方法
查询Spring配置文件,发现index=“1”的参数,使用了重复的定义。根据SPRING的注入规则,constructor-arg 中不能同时出现 index\name\type的定义。如下:
<bean id="redisDao" class="com.aspire.dao.RedisDao">
<constructor-arg index="0" ref="jedisConfig" />
<constructor-arg index="1" name="sentinels">
<set>
<value>172.0.0.1:26379</value>
<value>172.0.0.1:26479</value>
<value>172.0.0.1:26579</value>
</set>
</constructor-arg>
</bean>
——删除index="1"后面的
<bean id="redisDao" class="com.aspire.dao.RedisDao">
<constructor-arg index="0" ref="jedisConfig" />
<constructor-arg index="1">
<set>
<value>172.0.0.1:26379</value>
<value>172.0.0.1:26479</value>
<value>172.0.0.1:26579</value>
</set>
</constructor-arg>
</bean>