JedisPoolConfig继承关系
JedisPoolConfig需要依赖Apache common pool,其中pool配置依赖 common pool中的BaseObjectPoolConfig类,该类中定义了相关属性的缺省值,在JedisPoolConfig中定义了相关的属性。属性值如下
参数 |
值 |
setTestWhileIdle(); |
true |
setMinEvictableIdleTimeMillis(); |
60000 |
setTimeBetweenEvictionRunsMillis(); |
30000 |
setNumTestsPerEvictionRun(); |
-1 |
Jedispoolconfig继承关系图
JedisPoolConfig参数一览
参数 |
说明 |
setBlockWhenExhausted(boolean blockWhenExhausted) |
当池中的资源耗尽时是否进行阻塞,设置false直接报错,true表示会一直等待,直到有可用资源 |
setEvictionPolicyClassName(String evictionPolicyClassName) |
设置逐出策略,默认策略为 "org.apache.commons.pool2.impl.DefaultEvictionPolicy" |
setFairness(boolean fairness) |
当从池中获取资源或者将资源还回池中时 是否使用java.util.concurrent.locks.ReentrantLock.ReentrantLock 的公平锁机制,默认为false |
setJmxEnabled |
设置是否启用JMX,默认true |
setJmxNameBase(String jmxNameBase) |
设置JMX基础名 |
setJmxNamePrefix(String jmxNamePrefix) |
设置JMX前缀名,默认值pool |
setLifo(boolean lifo) |
设置连接对象是否后进先出,默认true |
setMaxIdle(int maxIdle) |
设置最大空闲连接数,默认为8 |
setMaxTotal(int maxTotal) |
设置最大连接数,默认18个 |
setMaxWaitMillis(long maxWaitMillis) |
获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间, 默认-1 |
setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis) |
设置连接最小的逐出间隔时间,默认1800000毫秒 |
setMinIdle(int minIdle) |
设置无连接时池中最小的连接个数,默认连接0 |
setNumTestsPerEvictionRun(int numTestsPerEvictionRun) |
每次逐出检查时,逐出连接的个数 |
setSoftMinEvictableIdleTimeMillis(softMinEvictableIdleTimeMillis); |
对象空闲多久后逐出, 当空闲时间>该值 且 空闲连接>最大空闲数 时直接逐出,不再根据MinEvictableIdleTimeMillis判断 |
setTestOnBorrow(boolean testOnBorrow) |
从池中获取连接时是否测试连接的有效性,默认false |
setTestOnCreate(boolean testOnCreate) |
在连接对象创建时测试连接对象的有效性,默认false |
setTestOnReturn(boolean testOnReturn) |
在连接对象返回时,是否测试对象的有效性,默认false |
setTestWhileIdle(boolean testWhileIdle) |
在连接池空闲时是否测试连接对象的有效性,默认false |
setTimeBetweenEvictionRunsMillis( long timeBetweenEvictionRunsMillis) |
设置连接对象有效性扫描间隔,设置为-1,则不运行逐出线程 |