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