精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-07-30
java.lang.NullPointerException
看了下源码,Response.get 中没有对data为null的情况进行处理
public T get() { if (!set) { throw new JedisDataException( "Please close pipeline or multi block before calling this method."); } if (!built) { response = builder.build(data); this.data = null; built = true; } return response; }
官网查了一下https://github.com/xetorthio/jedis/issues/286 上面说在2.1.0中fix了
结果直接升级了项目中的jedis 从2.0.0到2.1.0 项目中依赖它的jar没重编译
但出来类似如下问题 java.lang.NoSuchMethodError: redis.clients.jedis.Jedis.sadd(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Long; 官方那边也有 https://github.com/xetorthio/jedis/issues/303
如果依赖它的jar重编译就OK了
问题在于 2.0.0是 Long sadd(final String key, final String member) 2.1.0是 Long sadd(final String key, final String... members)
redis 的标准sadd 是 http://redis.io/commands/sadd
SADD key member [member ...]
2.1.0是标准化了 如果换成2.1.0后,不重编译,自然就NoSuchMethodError
相关jar重编译后 原来的 jedis.sadd("foo", "bar"); 会变成 jedis.sadd("foo", new String[]{"bar"}); 反编译下jar就能看到了
没在官方找到类似chang log的东西,有人知道在什么地方吗?
自己比较了一下,主要有如下变化(不完整)
和sadd类似的有 srem hdel zrem Long zadd(final String key, final Map<Double, String> scoreMembers)
Long rpush(final String key, final String string) TO Long rpush(final String key, final String... strings) 类似的有 lpush
zrange(final String key, final int start, final int end) TO zrange(final String key, final long start, final long end) 类似的有 zrevrange zrangeWithScores zrevrangeWithScores zremrangeByRank
和ByScore相关的,原来的 min max score 参数都是double类型 2.1.0中 每个函数都增加了一个 min max score 都是string类型的版本 来处理score为如下情况的时候 -inf +inf (1 (2
增加内容 增加了在redis 2.6 中和Lua script相关的接口 List<String> configGet(final String pattern) String configSet(final String parameter, final String value) List<Slowlog> slowlogGet(long entries) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2537 次