redis 使用jedispool 获取连接异常问题!Could not get a resource from the pool大侠们看看,是哪里的问题!谢谢JedisUtil代码如下:public class JedisUtil {

 private Logger log = Logger.getLogger(this.getClass());  
 /**缓存生存时间 */
 private final int expire = 60000;
 /** 操作Key的方法 */
 public Keys KEYS;
 /** 对存储结构为String类型的操作 */
 public Strings STRINGS;
 /** 对存储结构为List类型的操作 */
 public Lists LISTS;
   /** 对存储结构为Set类型的操作 */
 public Sets SETS;
 /** 对存储结构为HashMap类型的操作 */
 public Hash HASH;
 /** 对存储结构为Set(排序的)类型的操作 */
 public SortSet SORTSET;
 private static JedisPool jedisPool = null;  
 
 private JedisUtil() {  

 } 
     static { 
        if (jedisPool == null) { 
            JedisPoolConfig config = new JedisPoolConfig();
            config.setMaxActive(JRedisPoolConfig.MAX_ACTIVE);   
            config.setMaxIdle(JRedisPoolConfig.MAX_IDLE);
            config.setMaxWait(JRedisPoolConfig.MAX_WAIT); 
            config.setTestOnBorrow(JRedisPoolConfig.TEST_ON_BORROW);
            config.setTestOnReturn(JRedisPoolConfig.TEST_ON_RETURN); 
            jedisPool = new JedisPool(config, JRedisPoolConfig.REDIS_IP, JRedisPoolConfig.REDIS_PORT); 
        }
   }
     
  public JedisPool getPool() {
  return jedisPool;
  }
 
     /**
      * 从jedis连接池中获取获取jedis对象  
      * @return
      */
     public Jedis getJedis() { 
  return jedisPool.getResource();
  }
     
     
     private static final JedisUtil jedisUtil = new JedisUtil();
 
 
    /**
     * 获取JedisUtil实例
     * @return
     */
    public static JedisUtil getInstance() {
return jedisUtil; 
}    /**
     * 回收jedis
     * @param jedis
     */
    public void returnJedis(Jedis jedis) {
jedisPool.returnResource(jedis);
}    
    /**
 * 设置过期时间
 * 
 * @author ruan 2013-4-11
 * @param key
 * @param seconds
 */
public void expire(String key, int seconds) {
if (seconds <= 0) { 
return;
}
Jedis jedis = getJedis();
jedis.expire(key, seconds);
returnJedis(jedis);
} /**
 * 设置默认过期时间
 * 
 * @author ruan 2013-4-11
 * @param key
 */
public void expire(String key) {
expire(key, expire);
}


//*******************************************Keys*******************************************//
public class Keys { /**
 * 清空所有key
 */
public String flushAll() {
Jedis jedis = getJedis();
String stata = jedis.flushAll();
returnJedis(jedis);
return stata;
} /**
 * 更改key
 * 
 * @param String
 *            oldkey
 * @param String
 *            newkey
 * @return 状态码
 * */
public String rename(String oldkey, String newkey) {
return rename(SafeEncoder.encode(oldkey),
SafeEncoder.encode(newkey));
}
}
}JRedisPoolConfig代码如下:
public class JRedisPoolConfig {
//控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;
    //如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
public static final int MAX_ACTIVE=StringUtil.getInt(PropertiesUtil.getUrl("redis.pool.maxActive", "redis")); 
//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。
public static final int MAX_IDLE =StringUtil.getInt(PropertiesUtil.getUrl("redis.pool.maxIdle", "redis"));
    //表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
public static final long MAX_WAIT=StringUtil.getLong(PropertiesUtil.getUrl("redis.pool.maxWait", "redis")); 
//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
public static final boolean TEST_ON_BORROW=StringUtil.getBoolean(PropertiesUtil.getUrl("redis.pool.testOnBorrow", "redis")); 
//在borrow一个jedis实例时,是否提前进行alidate操作;如果为true,则得到的jedis实例均是可用的; 
public static final boolean TEST_ON_RETURN=StringUtil.getBoolean(PropertiesUtil.getUrl("redis.pool.testOnReturn", "redis"));
//IP
public static final String REDIS_IP=PropertiesUtil.getUrl("redis.ip", "redis");  
//Port
public static final int REDIS_PORT=StringUtil.getInt(PropertiesUtil.getUrl("redis.port", "redis"));  
//Password
public static final String REDIS_PASSWORD=PropertiesUtil.getUrl("redis.password", "redis"); 




}redisjedisjedispoolresourcejredis