Exception in thread “pool-1-thread-5” java.lang.ClassCastException: [B cannot be cast to java.lang.Long
at redis.clients.jedis.Connection.getIntegerReply(Connection.java:222)
at redis.clients.jedis.Jedis.zrank(Jedis.java:1404)
at com.redistool.redenvelope.RedisTool.fetchRedEnvelop(RedisTool.java:42)
at com.redistool.redenvelope.People.fetchRedEnvelop(People.java:35)
at com.redistool.redenvelope.FetchHbTask.run(FetchHbTask.java:14)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
原因:多个线程同时调用了同一个jedis对象,导致内存数据被多个线程竞争,产生数据混乱
解决方案:每个线程都new出一个自己的jedis对象