Caused by: redis.clients.jedis.exceptions.InvalidURIException: Cannot open Redis connection due invalid URI. 10.96.170.54 at redis.clients.jedis.JedisFactory.<init>(JedisFactory.java:38) at redis.clients.jedis.JedisPool.<init>(JedisPool.java:94) at redis.clients.jedis.JedisPool.<init>(JedisPool.java:89) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ... 89 more
具体的解决方案如下:
<bean id="jedisPool" class="redis.clients.jedis.JedisPool"> <constructor-arg index="0" ref="jedisPoolConfig"/> <constructor-arg index="1" value="10.96.170.54" type="java.lang.String"/> <constructor-arg index="2" value="6379"/> <constructor-arg index="3" value="5000"/> </bean>
我这里的查找步骤:
1.检查了redis的server已经启动
2.第二步在linux当前用户下已经能通过host和port连接上redis的server[排除用户的权限问题]
3.在项目中启动时候就会抛出是不能连接IP地址
解决时间将近1个小时,最后猜想就是配置和连接的配置文件的问题,最后的解决方案:
在linux上配置参数需要显示的声明类型:
//注意下使用string时候需要显示的声明 type="java.lang.String"