Redis集群测试错误解决java.lang.NumberFormatException: For input string: "7006@17006"

报错显示:

java.lang.NumberFormatException: For input string: "7006@17006"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.valueOf(Integer.java:766)
	at redis.clients.util.ClusterNodeInformationParser.getHostAndPortFromNodeLine(ClusterNodeInformationParser.java:38)
	......

解决方案:

/**
		 * 报错如下:
		 * 		java.lang.NumberFormatException: For input string: "7006@17006"
		 * 集群环境Redis使用的是4.0.1的版本
		 * 		报错之前使用的jedis版本为2.7.2
		 * 		之后版本替换为2.9.0完美解决问题
		 * 	<dependency>
		 *	    <groupId>redis.clients</groupId>
		 *    	<artifactId>jedis</artifactId>
		 *	    <version>2.9.0</version>
		 *	    <type>jar</type>
		 *	    <scope>compile</scope>
		 *	</dependency>
		 * 
		 */
java.lang.NumberFormatException是一个常见的异常,它表示在将字符串转换为数字时发生了错误。在你提供的引用中,异常的具体信息是"For input string: "${spring.redis.port}""。这意味着在将"${spring.redis.port}"这个字符串转换为数字时出现问题。 这个异常通常是由以下原因引起的: 1. 传参字段和映射字段不一致:可能是因为你传递的参数与预期的字段不匹配,导致无法正确解析字符串为数字。 2. 传参类型和映射类型不一致:可能是因为你传递的参数的类型与预期的类型不匹配,导致无法正确解析字符串为数字。 3. 时间类型转换时间戳长度不一致:如果你尝试将一个时间戳字符串转换为数字,但时间戳的长度与预期的长度不一致,就会发生这个异常。 4. 参数长度和数据库不一致:如果你尝试将一个字符串转换为数字,但字符串的长度与数据库中定义的长度不一致,就会发生这个异常。 为了解决这个异常,你可以检查以下几个方面: 1. 确保传递的参数与预期的字段一致。 2. 确保传递的参数的类型与预期的类型一致。 3. 如果尝试将时间戳字符串转换为数字,请确保时间戳的长度与预期的长度一致。 4. 如果尝试将字符串转换为数字,请确保字符串的长度与数据库中定义的长度一致。 如果你能提供更多的上下文信息,比如代码片段或更详细的错误信息,我可以给出更具体的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值