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,則不運行逐出線程 |