List of usage examples for org.apache.commons.pool2.impl GenericObjectPoolConfig setFairness
public void setFairness(boolean fairness)
From source file:com.heliosapm.streams.collector.ds.AbstractDataSourceFactory.java
/** * Reads the generic object pool configuration from the passed JSONObject * @param jsonConfig The json configuration for the current data source * @return the pool config// w w w . j av a 2 s. com */ protected GenericObjectPoolConfig getPoolConfig(final JsonNode jsonConfig) { if (jsonConfig == null) throw new IllegalArgumentException("The passed JSONObject was null"); final GenericObjectPoolConfig config = new GenericObjectPoolConfig(); if (jsonConfig.has("maxPoolSize")) config.setMaxTotal(jsonConfig.get("maxPoolSize").intValue()); if (jsonConfig.has("maxPoolIdle")) config.setMaxIdle(jsonConfig.get("maxPoolIdle").intValue()); if (jsonConfig.has("minPoolIdle")) config.setMinIdle(jsonConfig.get("minPoolIdle").intValue()); if (jsonConfig.has("registerMbeans")) config.setJmxEnabled(jsonConfig.get("registerMbeans").booleanValue()); if (jsonConfig.has("fair")) config.setFairness(jsonConfig.get("fair").booleanValue()); if (jsonConfig.has("lifo")) config.setLifo(jsonConfig.get("lifo").booleanValue()); if (jsonConfig.has("maxWait")) config.setMaxWaitMillis(jsonConfig.get("maxWait").longValue()); final boolean testWhileIdle; if (jsonConfig.has("testWhileIdle")) { testWhileIdle = jsonConfig.get("testWhileIdle").booleanValue(); } else { testWhileIdle = false; } if (testWhileIdle) { config.setTestWhileIdle(true); long testPeriod = 15000; if (jsonConfig.has("testPeriod")) { testPeriod = jsonConfig.get("testPeriod").longValue(); } config.setTimeBetweenEvictionRunsMillis(testPeriod); } else { config.setTestWhileIdle(false); } // ALWAYS test on borrow config.setTestOnBorrow(true); config.setTestOnCreate(true); config.setTestOnReturn(false); return config; }
From source file:net.ymate.platform.persistence.redis.impl.RedisModuleCfg.java
@SuppressWarnings("unchecked") protected RedisDataSourceCfgMeta __doParserDataSourceCfgMeta(String dsName, Map<String, String> _moduleCfgs) throws Exception { RedisDataSourceCfgMeta _meta = null; ////from w w w . j ava 2 s . c o m Map<String, String> _dataSourceCfgs = __doGetCfgs(_moduleCfgs, "ds." + dsName + "."); // // if (!_dataSourceCfgs.isEmpty()) { String _connectionType = StringUtils.defaultIfBlank(_dataSourceCfgs.get("connection_type"), "default"); String _masterServerName = StringUtils.defaultIfBlank(_dataSourceCfgs.get("master_server_name"), "default"); List<ServerMeta> _servers = new ArrayList<ServerMeta>(); String[] _serverNames = StringUtils .split(StringUtils.defaultIfBlank(_dataSourceCfgs.get("server_name_list"), "default"), "|"); Map<String, String> _tmpCfgs = null; if (_serverNames != null) { for (String _serverName : _serverNames) { _tmpCfgs = __doGetCfgs(_dataSourceCfgs, "server." + _serverName + "."); if (!_tmpCfgs.isEmpty()) { ServerMeta _servMeta = new ServerMeta(); _servMeta.setName(_serverName); _servMeta.setHost(StringUtils.defaultIfBlank(_tmpCfgs.get("host"), "localhost")); _servMeta.setPort( BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("port"), "6379")).toIntValue()); _servMeta.setTimeout(BlurObject .bind(StringUtils.defaultIfBlank(_tmpCfgs.get("timeout"), "2000")).toIntValue()); _servMeta.setWeight( BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("weight"), "1")).toIntValue()); _servMeta.setDatabase(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("database"), "0")) .toIntValue()); _servMeta.setClientName(StringUtils.trimToNull(_tmpCfgs.get("client_name"))); _servMeta.setPassword(StringUtils.trimToNull(_tmpCfgs.get("password"))); // boolean _pwdEncrypted = new BlurObject(_tmpCfgs.get("password_encrypted")).toBooleanValue(); // if (_pwdEncrypted && StringUtils.isNotBlank(_servMeta.getPassword()) && StringUtils.isNotBlank(_tmpCfgs.get("password_class"))) { IPasswordProcessor _proc = ClassUtils.impl(_dataSourceCfgs.get("password_class"), IPasswordProcessor.class, this.getClass()); if (_proc != null) { _servMeta.setPassword(_proc.decrypt(_servMeta.getPassword())); } } // _servers.add(_servMeta); } } } // GenericObjectPoolConfig _poolConfig = new GenericObjectPoolConfig(); _tmpCfgs = __doGetCfgs(_dataSourceCfgs, "pool."); if (!_tmpCfgs.isEmpty()) { _poolConfig.setMinIdle(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("min_idle"), GenericObjectPoolConfig.DEFAULT_MIN_IDLE + "")).toIntValue()); _poolConfig.setMaxIdle(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("max_idle"), GenericObjectPoolConfig.DEFAULT_MAX_IDLE + "")).toIntValue()); _poolConfig.setMaxTotal(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("max_total"), GenericObjectPoolConfig.DEFAULT_MAX_TOTAL + "")).toIntValue()); _poolConfig .setBlockWhenExhausted( BlurObject .bind(StringUtils.defaultIfBlank(_tmpCfgs.get("block_when_exhausted"), GenericObjectPoolConfig.DEFAULT_BLOCK_WHEN_EXHAUSTED + "")) .toBooleanValue()); _poolConfig.setFairness(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("fairness"), GenericObjectPoolConfig.DEFAULT_FAIRNESS + "")).toBooleanValue()); _poolConfig.setJmxEnabled(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("jmx_enabled"), GenericObjectPoolConfig.DEFAULT_JMX_ENABLE + "")).toBooleanValue()); _poolConfig.setJmxNameBase(StringUtils.defaultIfBlank(_tmpCfgs.get("jmx_name_base"), GenericObjectPoolConfig.DEFAULT_JMX_NAME_BASE)); _poolConfig.setJmxNamePrefix(StringUtils.defaultIfBlank(_tmpCfgs.get("jmx_name_prefix"), GenericObjectPoolConfig.DEFAULT_JMX_NAME_PREFIX)); _poolConfig.setEvictionPolicyClassName( StringUtils.defaultIfBlank(_tmpCfgs.get("eviction_policy_class_name"), GenericObjectPoolConfig.DEFAULT_EVICTION_POLICY_CLASS_NAME)); _poolConfig.setLifo(BlurObject.bind( StringUtils.defaultIfBlank(_tmpCfgs.get("lifo"), GenericObjectPoolConfig.DEFAULT_LIFO + "")) .toBooleanValue()); _poolConfig.setMaxWaitMillis(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("max_wait_millis"), GenericObjectPoolConfig.DEFAULT_MAX_WAIT_MILLIS + "")).toLongValue()); _poolConfig .setMinEvictableIdleTimeMillis(BlurObject .bind(StringUtils.defaultIfBlank(_tmpCfgs.get("min_evictable_idle_time_millis"), GenericObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS + "")) .toLongValue()); _poolConfig.setSoftMinEvictableIdleTimeMillis(BlurObject .bind(StringUtils.defaultIfBlank(_tmpCfgs.get("soft_min_evictable_idle_time_millis"), GenericObjectPoolConfig.DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS + "")) .toLongValue()); _poolConfig.setTestOnBorrow(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("test_on_borrow"), GenericObjectPoolConfig.DEFAULT_TEST_ON_BORROW + "")).toBooleanValue()); _poolConfig.setTestOnReturn(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("test_on_return"), GenericObjectPoolConfig.DEFAULT_TEST_ON_RETURN + "")).toBooleanValue()); _poolConfig.setTestOnCreate(BlurObject.bind(StringUtils.defaultIfBlank(_tmpCfgs.get("test_on_create"), GenericObjectPoolConfig.DEFAULT_TEST_ON_CREATE + "")).toBooleanValue()); _poolConfig .setTestWhileIdle( BlurObject .bind(StringUtils.defaultIfBlank(_tmpCfgs.get("test_while_idle"), GenericObjectPoolConfig.DEFAULT_TEST_WHILE_IDLE + "")) .toBooleanValue()); _poolConfig .setNumTestsPerEvictionRun( BlurObject .bind(StringUtils.defaultIfBlank(_tmpCfgs.get("num_tests_per_eviction_run"), GenericObjectPoolConfig.DEFAULT_NUM_TESTS_PER_EVICTION_RUN + "")) .toIntValue()); _poolConfig .setTimeBetweenEvictionRunsMillis(BlurObject .bind(StringUtils.defaultIfBlank(_tmpCfgs.get("time_between_eviction_runs_millis"), GenericObjectPoolConfig.DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS + "")) .toLongValue()); } _meta = new RedisDataSourceCfgMeta(dsName, _connectionType, _masterServerName, _servers, _poolConfig); // } return _meta; }