2013-04-22 10 views
6

Utilizzando l'oggetto risposta in Jedis, genera ClassCastException. Non sono in grado di ottenere alcun valore da Redis quando utilizzo la pipeline. Per favore aiuto. Sto usando Jedis 2.1.0Oggetto risposta in Jedis - genera ClassCastException

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) 
+0

Funziona per me con Jedis 2.1.0 e Redis 2.4.14 su Java 6 e 7 su Mac OS X. Ho anche provato a scrivere valori strani in Redis ma ottengo errori "corretti" e certamente non ClassCastException. Altri dettagli che puoi condividere (specialmente su versioni, piattaforme, dati, ecc.)? –

+0

Hai ragione. C'è stato un conflitto nei file jar che ho usato. Ho tenuto per errore sia jedis 2.1.0 che jedis 2.0.0 nel percorso di compilazione. Grazie – user1182253

risposta

4

C'è stato un conflitto nei file jar che ho usato. Ho tenuto per errore sia jedis 2.1.0 che jedis 2.0.0 nel percorso di compilazione.

Problemi correlati