jedis 2.2.0 升级 2.6.2 不兼容问题

来源:互联网 发布:ansys优化设计实例 编辑:程序博客网 时间:2024/05/22 04:36

最近要把jedis从2.2.0升级到2.6.2,结果发现居然有不兼容的问题。。。


直接修改包依赖,运行,抛出错误

Exception in thread "main" java.lang.VerifyError: (class: XXXXX, method: <init> signature: (Ljava/lang/String;II)V) Incompatible argument to function


查了一下貌似是包冲突。仔细对比2.2.0和2.6.2环境下拉出来的jar包,发现2.6.2使用了commons-pool2这个包,于是怀疑是不是问题出在这里。由于本来又特地依赖了commons-pool这个包,所以编译一直没有问题。


将commons-pool的依赖删除,于是报错,发现新版本的JedisPoolConfig已经没有setMaxActive和setWhenExhaustedAction这两个函数。于是

setMaxActive替换成setMaxTotal

setWhenExhaustedAction替换成setBlockWhenExhausted。因为我们的目的是如果耗尽就抛异常,所以我们替换后参数设置为false就解决了。


0 0
原创粉丝点击