本文整理匯總了Java中org.apache.commons.pool2.impl.GenericObjectPoolConfig.setMaxIdle方法的典型用法代碼示例。如果您正苦於以下問題:Java GenericObjectPoolConfig.setMaxIdle方法的具體用法?Java GenericObjectPoolConfig.setMaxIdle怎麽用?Java GenericObjectPoolConfig.setMaxIdle使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.commons.pool2.impl.GenericObjectPoolConfig
的用法示例。
在下文中一共展示了GenericObjectPoolConfig.setMaxIdle方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: doTest
import org.apache.commons.pool2.impl.GenericObjectPoolConfig; //導入方法依賴的package包/類
private static void doTest() throws Exception {
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
poolConfig.setMinIdle(0);
poolConfig.setMaxIdle(5);
poolConfig.setMaxTotal(5);
final JedisPool pool = new JedisPool(poolConfig, "127.0.0.1", 6379, 2000, "weimob123", 8);
List<Thread> tds = new ArrayList<Thread>();
final Integer temp = 0;
final AtomicInteger ind = new AtomicInteger();
for (int i = 0; i < 50; i++) {
Thread hj = new Thread(new Runnable() {
public void run() {
for (int i; (i = ind.getAndIncrement()) < TOTAL_OPERATIONS; ) {
Jedis j = pool.getResource();
final String key = "foo" + i;
// redisUtil.setRedisData(key, key);
j.set(key.getBytes(), ConvertUtil.serialize(temp));
j.close();
}
}
});
tds.add(hj);
hj.start();
}
for (Thread t : tds)
t.join();
pool.close();
pool.destroy();
}
示例2: getGenericPoolConfig
import org.apache.commons.pool2.impl.GenericObjectPoolConfig; //導入方法依賴的package包/類
public GenericObjectPoolConfig getGenericPoolConfig() {
GenericObjectPoolConfig genericObjectPoolConfig = new GenericObjectPoolConfig();
genericObjectPoolConfig.setLifo(this.lifo);
genericObjectPoolConfig.setMinIdle(this.minIdle);
genericObjectPoolConfig.setMaxIdle(this.maxIdle);
genericObjectPoolConfig.setMaxTotal(this.maxTotal);
genericObjectPoolConfig.setNumTestsPerEvictionRun(this.numtestsPerEviction);
genericObjectPoolConfig.setBlockWhenExhausted(this.blockedWhenExhausted);
genericObjectPoolConfig.setTimeBetweenEvictionRunsMillis(this.timeBetweenEvictionRun);
genericObjectPoolConfig.setTestOnBorrow(this.testOnBorrow);
genericObjectPoolConfig.setTestOnCreate(this.testOnCreate);
genericObjectPoolConfig.setTestOnReturn(this.testOnReturn);
return genericObjectPoolConfig;
}
示例3: testSimplePool
import org.apache.commons.pool2.impl.GenericObjectPoolConfig; //導入方法依賴的package包/類
@Test
public void testSimplePool() throws Exception {
GenericObjectPoolConfig pc = new GenericObjectPoolConfig();
pc.setMinIdle(2);
pc.setMaxIdle(10);
pc.setMaxTotal(10);
JedisPool pool = new JedisPool(pc, "localhost", 6379);
testWithPool(pool);
}
示例4: testSentinel
import org.apache.commons.pool2.impl.GenericObjectPoolConfig; //導入方法依賴的package包/類
@Test
public void testSentinel() throws Exception {
GenericObjectPoolConfig pc = new GenericObjectPoolConfig();
pc.setMinIdle(2);
pc.setMaxIdle(10);
pc.setMaxTotal(10);
Set<String> sentinels = new HashSet<>();
sentinels.add("127.0.0.1:26379");
sentinels.add("127.0.0.1:26380");
sentinels.add("127.0.0.1:26381");
JedisSentinelPool pool = new JedisSentinelPool("mymaster", sentinels, pc);
testWithPool(pool);
}
示例5: start
import org.apache.commons.pool2.impl.GenericObjectPoolConfig; //導入方法依賴的package包/類
public static void start(){
// int size = 1024;
int size = 1024;
int max = 32;
GenericObjectPoolConfig genericObjectPoolConfig = new GenericObjectPoolConfig();
genericObjectPoolConfig.setMaxTotal(size * max);
genericObjectPoolConfig.setMaxIdle(size * max);
genericObjectPoolConfig.setMinIdle(size);
long time = 1000 * 30;
genericObjectPoolConfig.setMaxWaitMillis(time);
genericObjectPoolConfig.setSoftMinEvictableIdleTimeMillis(time);
updateEventCacheFactory = new UpdateEventCacheFactory(new UpdateEventPoolFactory(), genericObjectPoolConfig);
}
示例6: RedisRegistry
import org.apache.commons.pool2.impl.GenericObjectPoolConfig; //導入方法依賴的package包/類
public RedisRegistry(URL url) {
super(url);
if (url.isAnyHost()) {
throw new IllegalStateException("registry address == null");
}
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
config.setTestOnBorrow(url.getParameter("test.on.borrow", true));
config.setTestOnReturn(url.getParameter("test.on.return", false));
config.setTestWhileIdle(url.getParameter("test.while.idle", false));
if (url.getParameter("max.idle", 0) > 0)
config.setMaxIdle(url.getParameter("max.idle", 0));
if (url.getParameter("min.idle", 0) > 0)
config.setMinIdle(url.getParameter("min.idle", 0));
if (url.getParameter("max.active", 0) > 0)
config.setMaxTotal(url.getParameter("max.active", 0));
if (url.getParameter("max.total", 0) > 0)
config.setMaxTotal(url.getParameter("max.total", 0));
if (url.getParameter("max.wait", url.getParameter("timeout", 0)) > 0)
config.setMaxWaitMillis(url.getParameter("max.wait", url.getParameter("timeout", 0)));
if (url.getParameter("num.tests.per.eviction.run", 0) > 0)
config.setNumTestsPerEvictionRun(url.getParameter("num.tests.per.eviction.run", 0));
if (url.getParameter("time.between.eviction.runs.millis", 0) > 0)
config.setTimeBetweenEvictionRunsMillis(url.getParameter("time.between.eviction.runs.millis", 0));
if (url.getParameter("min.evictable.idle.time.millis", 0) > 0)
config.setMinEvictableIdleTimeMillis(url.getParameter("min.evictable.idle.time.millis", 0));
String cluster = url.getParameter("cluster", "failover");
if (!"failover".equals(cluster) && !"replicate".equals(cluster)) {
throw new IllegalArgumentException("Unsupported redis cluster: " + cluster + ". The redis cluster only supported failover or replicate.");
}
replicate = "replicate".equals(cluster);
List<String> addresses = new ArrayList<String>();
addresses.add(url.getAddress());
String[] backups = url.getParameter(Constants.BACKUP_KEY, new String[0]);
if (backups != null && backups.length > 0) {
addresses.addAll(Arrays.asList(backups));
}
for (String address : addresses) {
int i = address.indexOf(':');
String host;
int port;
if (i > 0) {
host = address.substring(0, i);
port = Integer.parseInt(address.substring(i + 1));
} else {
host = address;
port = DEFAULT_REDIS_PORT;
}
this.jedisPools.put(address, new JedisPool(config, host, port,
url.getParameter(Constants.TIMEOUT_KEY, Constants.DEFAULT_TIMEOUT)));
}
this.reconnectPeriod = url.getParameter(Constants.REGISTRY_RECONNECT_PERIOD_KEY, Constants.DEFAULT_REGISTRY_RECONNECT_PERIOD);
String group = url.getParameter(Constants.GROUP_KEY, DEFAULT_ROOT);
if (!group.startsWith(Constants.PATH_SEPARATOR)) {
group = Constants.PATH_SEPARATOR + group;
}
if (!group.endsWith(Constants.PATH_SEPARATOR)) {
group = group + Constants.PATH_SEPARATOR;
}
this.root = group;
this.expirePeriod = url.getParameter(Constants.SESSION_TIMEOUT_KEY, Constants.DEFAULT_SESSION_TIMEOUT);
this.expireFuture = expireExecutor.scheduleWithFixedDelay(new Runnable() {
public void run() {
try {
deferExpired(); // 延長過期時間
} catch (Throwable t) { // 防禦性容錯
logger.error("Unexpected exception occur at defer expire time, cause: " + t.getMessage(), t);
}
}
}, expirePeriod / 2, expirePeriod / 2, TimeUnit.MILLISECONDS);
}