[redis]异常:redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the

MaxActive: 可用连接实例的最大数目,为负值时没有限制。
MaxIdle: 空闲连接实例的最大数目,为负值时没有限制。Idle的实例在使用前,通常会通过org.apache.commons.pool.BasePoolableObjectFactory<T>的activateObject()方法使其变得可用。
MaxWait: 等待可用连接的最大数目,单位毫秒(million seconds)。
     (注:pool.getResource()方法实际调用的GenericObjectPool类borrowObject()方法,该方法会根据MaxWait变量值在没有可用连接(idle/active)时阻塞等待知道超时,具体含义参看api。)

也就是说当连接池中没有active/idle的连接时,会等待maxWait时间,如果等待超时还没有可用连接,则抛出Could not get a resource from the pool异常。所以为避免这样的错误,

我们应该根据程序实际情况合理设置这三个参数的值,同时在我们获取一个连接的程序方法中也应该合理的处理这个异常,当没有连接可用时,等待一段时间再获取也许是个比较好的选择。

以上是网上摘抄,但是我碰到的问题是windows下正常,放在linux下就报这个错,最后还是我们经理提供解决方案

修改链接redis的配置文件,加上红框框里的配置

[redis]异常:redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the_第1张图片

具体原因是windows下读取配置文件时的顺序排序和linux下的不同,在linux下需要将读取顺序排序改为string排序.

你可能感兴趣的:([redis]异常:redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the)