Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 绝地中的响应对象-抛出ClassCastException_Java_Response_Sync_Pipeline_Jedis - Fatal编程技术网

Java 绝地中的响应对象-抛出ClassCastException

Java 绝地中的响应对象-抛出ClassCastException,java,response,sync,pipeline,jedis,Java,Response,Sync,Pipeline,Jedis,在绝地武士中使用Response对象,抛出ClassCastException。当我使用管道时,我无法从Redis获得任何值。请帮忙。我用的是绝地2.1.0 public class JedisPipeline { public static void main(String args[]){ final JedisPool pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1", 6379);

在绝地武士中使用Response对象,抛出ClassCastException。当我使用管道时,我无法从Redis获得任何值。请帮忙。我用的是绝地2.1.0

public class JedisPipeline {    
    public static void main(String args[]){
        final JedisPool pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1", 6379);
        Jedis jedis = pool.getResource();
        Pipeline pipeline = jedis.pipelined();
        pipeline.multi();
        HashMap<String,String> map = new HashMap<String,String>();
        map.put("50", "50");
        pipeline.hmset("Id",map);
        Response <Long> incr = pipeline.hincrBy("Id", "100", 100);
        Response<Map<String,String>> map1 = pipeline.hgetAll("Id");
        pipeline.exec();
        List<Object> results = pipeline.syncAndReturnAll();
        System.out.println(results);
        System.out.println( incr.get());
        System.out.println( map1.get());
        pool.returnResource(jedis);
        pool.destroy();
    }
}

Exception in thread "main" java.lang.ClassCastException: [B cannot be cast to java.lang.Long
    at redis.clients.jedis.BuilderFactory$4.build(BuilderFactory.java:45)
    at redis.clients.jedis.BuilderFactory$4.build(BuilderFactory.java:48)
    at redis.clients.jedis.Response.get(Response.java:27)
    at redis.clients.jedis.Pipeline.syncAndReturnAll(Pipeline.java:42)
    at com.work.jedis.JedisPipeline.main(JedisPipeline.java:28)
公共类
公共静态void main(字符串参数[]){
最终JedisPool池=新的JedisPool(新的JedisPool配置(),“127.0.0.1”,6379);
绝地武士=pool.getResource();
管道管道=绝地。管道();
pipeline.multi();
HashMap=newHashMap();
地图放置(“50”、“50”);
pipeline.hmset(“Id”,map);
响应增量=pipeline.hincrBy(“Id”,“100”,100);
响应map1=pipeline.hgetAll(“Id”);
pipeline.exec();
列表结果=pipeline.syncAndReturnAll();
系统输出打印项次(结果);
System.out.println(incr.get());
System.out.println(map1.get());
返回资源池(绝地);
pool.destroy();
}
}
线程“main”java.lang.ClassCastException中出现异常:[B不能转换为java.lang.Long
位于redis.clients.jedis.BuilderFactory$4.build(BuilderFactory.java:45)
位于redis.clients.jedis.BuilderFactory$4.build(BuilderFactory.java:48)
位于redis.clients.jedis.Response.get(Response.java:27)
在redis.clients.jedis.Pipeline.syncAndReturnAll(Pipeline.java:42)
在com.work.jedis.JedisPipeline.main(JedisPipeline.java:28)

我使用的jar文件中存在冲突。我在构建路径中错误地保留了jedis 2.1.0和jedis 2.0.0。

适用于Java 6和Mac OS X上的jedis 2.1.0和Redis 2.4.14。我也尝试将奇怪的值写入Redis,但我得到了“正确”的答案错误,当然不是ClassCastException。您可以分享更多详细信息(特别是关于版本、平台、数据等)?您是对的。我使用的jar文件中存在冲突。我在构建路径中错误地保留了jedis 2.1.0和jedis 2.0.0。谢谢