Jedis在linux出现的InvalidURIException

本人是在windows上启动时候是正常的,在linux系统上使用时候一直报下边的错:
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"


猜你喜欢

转载自janle.iteye.com/blog/2335612