I got "java.lang.ClassCastException: java.lang.Long cannot be cast to [B" while running this code:
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(10);
config.setMinIdle(1);
config.setMaxWaitMillis(30000);
JedisPool jedisPool = new JedisPool(config, "localhost", 6379);
Jedis jedis = null;
jedis = jedisPool.getResource();
String msisdn = "3331122333";
Long balance = new Long(1000);
int balanceValidity = 30;
Transaction t = jedis.multi();
t.watch(msisdn);
t.set(msisdn, balance.toString());
t.expire(msisdn, balanceValidity);
t.exec();
Everythings works fine running this code:
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
jedis.watch(msisdn);
jedis.set(msisdn, balance.toString());
jedis.expire(msisdn, balanceValidity);
jedis.publish("myChannel", msisdn + " " + balance.toString());
} finally {
if (jedis != null)
jedis.close();
}
These the used vesions:
- Redis 3.2.4
- Jedis client 2.9.0
- JDK 1.6