List of usage examples for org.apache.commons.pool2.impl GenericObjectPoolConfig setMaxTotal
public void setMaxTotal(int maxTotal)
From source file:org.coodex.sharedcache.jedis.JedisClientFactory.java
@Override public SharedCacheClient getClientInstance() { synchronized (JedisClientFactory.class) { if (client == null) { profile = Profile.getProfile("sharedcache-jedis.properties"); String[] redisServers = profile.getStrList("redisServers"); if (redisServers == null) throw new RuntimeException("no redis server defined."); Set<HostAndPort> servers = new HashSet<HostAndPort>(); for (String server : redisServers) { try { servers.add(toHostAndPort(server)); } catch (Throwable e) { throw new RuntimeException("unknown redis server: " + server, e); }/*from ww w. jav a2s. com*/ } GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setMinIdle(profile.getInt("pool.minIdle", GenericObjectPoolConfig.DEFAULT_MIN_IDLE)); poolConfig.setMaxIdle(profile.getInt("pool.maxIdle", GenericObjectPoolConfig.DEFAULT_MAX_IDLE)); poolConfig.setMaxTotal(profile.getInt("pool.maxTotal", GenericObjectPoolConfig.DEFAULT_MAX_TOTAL)); // TODO ? if (servers.size() == 0) throw new RuntimeException("no redis server defined."); long defaultMaxCacheTime = profile.getLong("defaultMaxCacheTime", DEFAULT_MAX_CACHED_SECENDS) * 1000; if (servers.size() == 1) { HostAndPort server = servers.iterator().next(); client = new JedisSingleNodeClient( new JedisPool(poolConfig, server.getHost(), server.getPort()), defaultMaxCacheTime); } else { client = new JedisClusterClient(new JedisCluster(servers, poolConfig), defaultMaxCacheTime); } } } return client; }
From source file:org.csc.phynixx.connection.MTPooledConnectionIT.java
protected void setUp() throws Exception { // configuring the log-system (e.g. log4j) TestUtils.configureLogging();/*from www. j a va 2s .c o m*/ this.tmpDir = new TmpDirectory("howllogger"); // clears all existing file in dem tmp directory this.tmpDir.clear(); GenericObjectPoolConfig cfg = new GenericObjectPoolConfig(); cfg.setMaxTotal(CONNECTION_POOL_SIZE); this.factory = new PooledPhynixxManagedConnectionFactory(new TestConnectionFactory(), cfg); this.factory.setSynchronizeConnection(true); IDataLoggerFactory loggerFactory = new FileChannelDataLoggerFactory("pool", this.tmpDir.getDirectory()); LoggerPerTransactionStrategy strategy = new LoggerPerTransactionStrategy(loggerFactory); this.factory.setLoggerSystemStrategy(strategy); }
From source file:org.csc.phynixx.connection.PooledManagedConnectionIntegrationScenariosIT.java
private PooledPhynixxManagedConnectionFactory<ITestConnection> createConnectionFactory(int poolSize) throws Exception { GenericObjectPoolConfig cfg = new GenericObjectPoolConfig(); cfg.setMaxTotal(poolSize); PooledPhynixxManagedConnectionFactory<ITestConnection> factory = new PooledPhynixxManagedConnectionFactory( new TestConnectionFactory(), cfg); IDataLoggerFactory loggerFactory = new FileChannelDataLoggerFactory("testConnection", this.tmpDirectory.getDirectory()); //IDataLoggerFactory loggerFactory= new HowlLoggerFactory("reference", this.loadHowlConfig(tmpDirectory.getDirectory())); factory.setLoggerSystemStrategy(new LoggerPerTransactionStrategy(loggerFactory)); TestConnectionStatusListener statusListener = new TestConnectionStatusListener(); factory.addManagedConnectionDecorator(statusListener); return factory; }
From source file:org.csc.phynixx.connection.recovery.RecoveryIT.java
private PooledPhynixxManagedConnectionFactory<ITestConnection> createManagedConnectionFactory() { GenericObjectPoolConfig cfg = new GenericObjectPoolConfig(); cfg.setMaxTotal(POOL_SIZE); PooledPhynixxManagedConnectionFactory<ITestConnection> fac = new PooledPhynixxManagedConnectionFactory( new TestConnectionFactory(), cfg); IDataLoggerFactory loggerFactory = new FileChannelDataLoggerFactory("mt", this.tmpDir.getDirectory()); LoggerPerTransactionStrategy strategy = new LoggerPerTransactionStrategy(loggerFactory); fac.setLoggerSystemStrategy(strategy); fac.addManagedConnectionDecorator(new TestConnectionStatusListener()); return fac;// w w w . j a v a 2 s . com }
From source file:org.csc.phynixx.xa.TestXAResourceFactory.java
private static PhynixxManagedConnectionFactory<ITestConnection> createManagedConnectionFactory(int poolSize, String id, File dataLoggerDirectory) { GenericObjectPoolConfig cfg = new GenericObjectPoolConfig(); cfg.setMaxTotal(poolSize); PooledPhynixxManagedConnectionFactory<ITestConnection> factory = new PooledPhynixxManagedConnectionFactory<ITestConnection>( new TestConnectionFactory(id + "-"), cfg); if (dataLoggerDirectory != null) { IDataLoggerFactory loggerFactory = new FileChannelDataLoggerFactory(id, dataLoggerDirectory); LoggerPerTransactionStrategy<ITestConnection> strategy = new LoggerPerTransactionStrategy<ITestConnection>( loggerFactory);//w w w. ja va 2s . c o m factory.setLoggerSystemStrategy(strategy); } factory.addManagedConnectionDecorator(new TestConnectionStatusListener()); return factory; }
From source file:org.eclipse.kapua.broker.core.pool.JmsAssistantProducerPool.java
/** * Create a JmsAssistantProducerPool from the given factory * //from w w w . j a v a 2 s . c o m * @param factory */ protected JmsAssistantProducerPool(JmsAssistantProducerWrapperFactory factory) { super(factory); // TODO parameter to be added to configuration // int totalMaxSize = KapuaEnvironmentConfig.getInstance().getString(KapuaEnvironmentConfigKeys.POOL_TOTAL_MAX_SIZE); // int maxSize = KapuaEnvironmentConfig.getInstance().getString(KapuaEnvironmentConfigKeys.POOL_MAX_SIZE); // int minSize = KapuaEnvironmentConfig.getInstance().getString(KapuaEnvironmentConfigKeys.POOL_MIN_SIZE); int totalMaxSize = 25; int maxSize = 25; int minSize = 10; GenericObjectPoolConfig jmsPoolConfig = new GenericObjectPoolConfig(); jmsPoolConfig.setMaxTotal(totalMaxSize); jmsPoolConfig.setMaxIdle(maxSize); jmsPoolConfig.setMinIdle(minSize); s_logger.info("Set test on return to true for JmsAssistantProducerPool"); jmsPoolConfig.setTestOnReturn(true); s_logger.info("Set test on borrow to true for JmsAssistantProducerPool"); jmsPoolConfig.setTestOnBorrow(true); s_logger.info("Set block when exausted to true for JmsAssistantProducerPool"); jmsPoolConfig.setBlockWhenExhausted(true); setConfig(jmsPoolConfig); }
From source file:org.eclipse.kapua.transport.mqtt.pooling.MqttClientPool.java
/** * Initialize a {@link MqttClientPool} with the according configuration sourced from {@link MqttClientPoolSetting}. * /*w ww. jav a2s . c o m*/ * @since 1.0.0 */ private MqttClientPool(PooledMqttClientFactory factory) { super(factory); MqttClientPoolSetting config = MqttClientPoolSetting.getInstance(); GenericObjectPoolConfig clientPoolConfig = new GenericObjectPoolConfig(); clientPoolConfig.setMinIdle(config.getInt(MqttClientPoolSettingKeys.CLIENT_POOL_SIZE_IDLE_MIN)); clientPoolConfig.setMaxIdle(config.getInt(MqttClientPoolSettingKeys.CLIENT_POOL_SIZE_IDLE_MAX)); clientPoolConfig.setMaxTotal(config.getInt(MqttClientPoolSettingKeys.CLIENT_POOL_SIZE_TOTAL_MAX)); clientPoolConfig.setMaxWaitMillis(config.getInt(MqttClientPoolSettingKeys.CLIENT_POOL_BORROW_WAIT_MAX)); clientPoolConfig.setTestOnReturn(config.getBoolean(MqttClientPoolSettingKeys.CLIENT_POOL_ON_RETURN_TEST)); clientPoolConfig.setTestOnBorrow(config.getBoolean(MqttClientPoolSettingKeys.CLIENT_POOL_ON_BORROW_TEST)); clientPoolConfig.setTestWhileIdle(config.getBoolean(MqttClientPoolSettingKeys.CLIENT_POOL_WHEN_IDLE_TEST)); clientPoolConfig.setBlockWhenExhausted( config.getBoolean(MqttClientPoolSettingKeys.CLIENT_POOL_WHEN_EXAUSTED_BLOCK)); clientPoolConfig.setTimeBetweenEvictionRunsMillis( config.getLong(MqttClientPoolSettingKeys.CLIENT_POOL_EVICTION_INTERVAL)); setConfig(clientPoolConfig); }
From source file:org.jooby.jedis.Redis.java
private GenericObjectPoolConfig poolConfig(final Config config) { GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setBlockWhenExhausted(config.getBoolean("blockWhenExhausted")); poolConfig.setEvictionPolicyClassName(config.getString("evictionPolicyClassName")); poolConfig.setJmxEnabled(config.getBoolean("jmxEnabled")); poolConfig.setJmxNamePrefix(config.getString("jmxNamePrefix")); poolConfig.setLifo(config.getBoolean("lifo")); poolConfig.setMaxIdle(config.getInt("maxIdle")); poolConfig.setMaxTotal(config.getInt("maxTotal")); poolConfig.setMaxWaitMillis(config.getDuration("maxWait", TimeUnit.MILLISECONDS)); poolConfig.setMinEvictableIdleTimeMillis(config.getDuration("minEvictableIdle", TimeUnit.MILLISECONDS)); poolConfig.setMinIdle(config.getInt("minIdle")); poolConfig.setNumTestsPerEvictionRun(config.getInt("numTestsPerEvictionRun")); poolConfig.setSoftMinEvictableIdleTimeMillis( config.getDuration("softMinEvictableIdle", TimeUnit.MILLISECONDS)); poolConfig.setTestOnBorrow(config.getBoolean("testOnBorrow")); poolConfig.setTestOnReturn(config.getBoolean("testOnReturn")); poolConfig.setTestWhileIdle(config.getBoolean("testWhileIdle")); poolConfig.setTimeBetweenEvictionRunsMillis( config.getDuration("timeBetweenEvictionRuns", TimeUnit.MILLISECONDS)); return poolConfig; }
From source file:org.nd4j.linalg.jcublas.context.ContextHolder.java
/** * Configure the given information// w ww.j a va 2 s . c om * based on the device */ public void configure() { if (confCalled) return; JCublas2.setExceptionsEnabled(true); JCudaDriver.setExceptionsEnabled(true); JCuda.setExceptionsEnabled(true); if (deviceSetup.get()) return; JCudaDriver.cuInit(0); int count[] = new int[1]; cuDeviceGetCount(count); numDevices = count[0]; log.debug("Found " + numDevices + " gpus"); if (numDevices < 1) numDevices = 1; bannedDevices = new ArrayList<>(); String props = System.getProperty(DEVICES_TO_BAN, "-1"); String[] split = props.split(","); //Should only be used in multi device scenarios; otherwise always use one device if (split.length >= 1) for (String s : split) { Integer i = Integer.parseInt(s); if (i >= 0) bannedDevices.add(Integer.parseInt(s)); } deviceSetup.set(true); Set<Thread> threadSet = Thread.getAllStackTraces().keySet(); for (int i = 0; i < numDevices; i++) { for (Thread thread : threadSet) getContext(i, thread.getName()); } setContext(); try { KernelFunctionLoader.getInstance().load(); } catch (Exception e) { throw new RuntimeException(e); } // Check if the device supports mapped host memory cudaDeviceProp deviceProperties = new cudaDeviceProp(); JCuda.cudaGetDeviceProperties(deviceProperties, 0); if (deviceProperties.canMapHostMemory == 0) { System.err.println("This device can not map host memory"); System.err.println(deviceProperties.toFormattedString()); return; } //force certain ops to have a certain number of threads Properties threadProps = new Properties(); try { InputStream is = ContextHolder.class.getResourceAsStream("/function_threads.properties"); threadProps.load(is); } catch (IOException e) { e.printStackTrace(); } for (String prop : threadProps.stringPropertyNames()) { threads.put(prop, Integer.parseInt(threadProps.getProperty(prop))); } try { GenericObjectPoolConfig config = new GenericObjectPoolConfig(); config.setJmxEnabled(true); config.setBlockWhenExhausted(false); config.setMaxIdle(Runtime.getRuntime().availableProcessors()); config.setMaxTotal(Runtime.getRuntime().availableProcessors()); config.setMinIdle(Runtime.getRuntime().availableProcessors()); config.setJmxNameBase("handles"); handlePool = new CublasHandlePool(new CublasHandlePooledItemFactory(), config); GenericObjectPoolConfig confClone = config.clone(); confClone.setMaxTotal(Runtime.getRuntime().availableProcessors() * 10); confClone.setMaxIdle(Runtime.getRuntime().availableProcessors() * 10); confClone.setMinIdle(Runtime.getRuntime().availableProcessors() * 10); GenericObjectPoolConfig streamConf = confClone.clone(); streamConf.setJmxNameBase("streams"); streamPool = new StreamPool(new StreamItemFactory(), streamConf); GenericObjectPoolConfig oldStreamConf = streamConf.clone(); oldStreamConf.setJmxNameBase("oldstream"); oldStreamPool = new OldStreamPool(new OldStreamItemFactory(), oldStreamConf); setContext(); //seed with multiple streams to encourage parallelism for (int i = 0; i < Runtime.getRuntime().availableProcessors(); i++) { streamPool.addObject(); oldStreamPool.addObject(); } //force context initialization to occur JCuda.cudaFree(Pointer.to(new int[] { 0 })); } catch (Exception e) { log.warn("Unable to initialize cuda", e); } for (int i = 0; i < numDevices; i++) { ClassPathResource confFile = new ClassPathResource("devices/" + i, ContextHolder.class.getClassLoader()); if (confFile.exists()) { Properties props2 = new Properties(); try { props2.load(confFile.getInputStream()); confs.put(i, new DeviceConfiguration(i, props2)); } catch (IOException e) { throw new RuntimeException(e); } } else confs.put(i, new DeviceConfiguration(i)); } confCalled = true; }
From source file:org.noerp.entity.connection.DBCPConnectionFactory.java
public Connection getConnection(GenericHelperInfo helperInfo, JdbcElement abstractJdbc) throws SQLException, GenericEntityException { String cacheKey = helperInfo.getHelperFullName(); ManagedDataSource mds = dsCache.get(cacheKey); if (mds != null) { return TransactionUtil.getCursorConnection(helperInfo, mds.getConnection()); }//from w w w . j av a2 s . c o m if (!(abstractJdbc instanceof InlineJdbc)) { throw new GenericEntityConfException( "DBCP requires an <inline-jdbc> child element in the <datasource> element"); } InlineJdbc jdbcElement = (InlineJdbc) abstractJdbc; // connection properties TransactionManager txMgr = TransactionFactoryLoader.getInstance().getTransactionManager(); String driverName = jdbcElement.getJdbcDriver(); String jdbcUri = helperInfo.getOverrideJdbcUri(jdbcElement.getJdbcUri()); String jdbcUsername = helperInfo.getOverrideUsername(jdbcElement.getJdbcUsername()); String jdbcPassword = helperInfo.getOverridePassword(EntityConfig.getJdbcPassword(jdbcElement)); // pool settings int maxSize = jdbcElement.getPoolMaxsize(); int minSize = jdbcElement.getPoolMinsize(); int maxIdle = jdbcElement.getIdleMaxsize(); // maxIdle must be greater than pool-minsize maxIdle = maxIdle > minSize ? maxIdle : minSize; // load the driver Driver jdbcDriver; synchronized (DBCPConnectionFactory.class) { // Sync needed for MS SQL JDBC driver. See OFBIZ-5216. try { jdbcDriver = (Driver) Class .forName(driverName, true, Thread.currentThread().getContextClassLoader()).newInstance(); } catch (Exception e) { Debug.logError(e, module); throw new GenericEntityException(e.getMessage(), e); } } // connection factory properties Properties cfProps = new Properties(); cfProps.put("user", jdbcUsername); cfProps.put("password", jdbcPassword); // create the connection factory org.apache.commons.dbcp2.ConnectionFactory cf = new DriverConnectionFactory(jdbcDriver, jdbcUri, cfProps); // wrap it with a LocalXAConnectionFactory XAConnectionFactory xacf = new LocalXAConnectionFactory(txMgr, cf); // create the pool object factory PoolableConnectionFactory factory = new PoolableManagedConnectionFactory(xacf, null); factory.setValidationQuery(jdbcElement.getPoolJdbcTestStmt()); factory.setDefaultReadOnly(false); String transIso = jdbcElement.getIsolationLevel(); if (!transIso.isEmpty()) { if ("Serializable".equals(transIso)) { factory.setDefaultTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE); } else if ("RepeatableRead".equals(transIso)) { factory.setDefaultTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ); } else if ("ReadUncommitted".equals(transIso)) { factory.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED); } else if ("ReadCommitted".equals(transIso)) { factory.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); } else if ("None".equals(transIso)) { factory.setDefaultTransactionIsolation(Connection.TRANSACTION_NONE); } } // configure the pool settings GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setMaxTotal(maxSize); // settings for idle connections poolConfig.setMaxIdle(maxIdle); poolConfig.setMinIdle(minSize); poolConfig.setTimeBetweenEvictionRunsMillis(jdbcElement.getTimeBetweenEvictionRunsMillis()); poolConfig.setMinEvictableIdleTimeMillis(-1); // disabled in favour of setSoftMinEvictableIdleTimeMillis(...) poolConfig.setSoftMinEvictableIdleTimeMillis(jdbcElement.getSoftMinEvictableIdleTimeMillis()); poolConfig.setNumTestsPerEvictionRun(maxSize); // test all the idle connections // settings for when the pool is exhausted poolConfig.setBlockWhenExhausted(true); // the thread requesting the connection waits if no connection is available poolConfig.setMaxWaitMillis(jdbcElement.getPoolSleeptime()); // throw an exception if, after getPoolSleeptime() ms, no connection is available for the requesting thread // settings for the execution of the validation query poolConfig.setTestOnCreate(jdbcElement.getTestOnCreate()); poolConfig.setTestOnBorrow(jdbcElement.getTestOnBorrow()); poolConfig.setTestOnReturn(jdbcElement.getTestOnReturn()); poolConfig.setTestWhileIdle(jdbcElement.getTestWhileIdle()); GenericObjectPool pool = new GenericObjectPool(factory, poolConfig); factory.setPool(pool); mds = new ManagedDataSource(pool, xacf.getTransactionRegistry()); //mds = new DebugManagedDataSource(pool, xacf.getTransactionRegistry()); // Useful to debug the usage of connections in the pool mds.setAccessToUnderlyingConnectionAllowed(true); // cache the pool dsCache.putIfAbsent(cacheKey, mds); mds = dsCache.get(cacheKey); return TransactionUtil.getCursorConnection(helperInfo, mds.getConnection()); }