Example usage for org.apache.commons.pool2.impl GenericKeyedObjectPool GenericKeyedObjectPool

List of usage examples for org.apache.commons.pool2.impl GenericKeyedObjectPool GenericKeyedObjectPool

Introduction

In this page you can find the example usage for org.apache.commons.pool2.impl GenericKeyedObjectPool GenericKeyedObjectPool.

Prototype

public GenericKeyedObjectPool(KeyedPooledObjectFactory<K, T> factory, GenericKeyedObjectPoolConfig config) 

Source Link

Document

Create a new GenericKeyedObjectPool using a specific configuration.

Usage

From source file:com.vmware.identity.idm.server.provider.LdapConnectionPool.java

private LdapConnectionPool() {
    String systemTenant = IdmServerConfig.getInstance().getDirectoryConfigStoreDomain().toLowerCase();
    GenericKeyedObjectPool<PooledLdapConnectionIdentity, ILdapConnectionEx> systemTenantPool = new GenericKeyedObjectPool<>(
            new PooledLdapConnectionFactory(), getGenericKeyedObjectPoolConfig(systemTenant));
    this.poolMap = new ConcurrentHashMap<>();
    this.poolMap.put(systemTenant, systemTenantPool);
}

From source file:com.zxy.commons.pool.keyedpool.KeyedPool.java

/**
 * /*from  ww w. ja v a2  s .  c  o m*/
 * 
 * @param factory factory
 * @param config config
 */
public KeyedPool(KeyedPooledObjectFactory<K, V> factory, GenericKeyedObjectPoolConfig config) {
    this.internalPool = new GenericKeyedObjectPool<>(factory, config);
}

From source file:net.sheehantech.cherry.pool.KeyedPooledPushClient.java

@Override
public void init() throws ConnectionFailedException {
    GenericKeyedObjectPoolConfig config = new GenericKeyedObjectPoolConfig();
    if (maxTotal != null)
        config.setMaxTotalPerKey(maxTotal);
    if (maxIdle != null)
        config.setMaxIdlePerKey(maxIdle);
    if (minIdle != null)
        config.setMinIdlePerKey(minIdle);
    config.setTestOnBorrow(true);//from   w  w  w.  ja  va 2s  .c o m
    config.setTestWhileIdle(true);
    config.setBlockWhenExhausted(true);
    config.setMaxTotalPerKey(maxTotal);
    pool = new GenericKeyedObjectPool<K, PooledPushSocket>(
            new KeyedPooledPushSocketFactory(socketFactories, gateways, ports), config);
    try {
        for (K k : sslContexts.keySet())
            pool.preparePool(k);
    } catch (Exception e) {
        throw (new ConnectionFailedException(e));
    }
    logger.debug("Started new push socket pool with {} sockets", pool.getNumIdle());

}

From source file:com.magnet.mmx.server.plugin.mmxmgmt.apns.APNSConnectionPoolImpl.java

/**
 * Lifecycle method. Initializes the pool using the supplied KeyedPooledObjectFactory and the configuration.
 * @param factory//from w  ww. j  av  a2s.  c om
 * @param configuration
 * @throws java.lang.IllegalStateException if the pool instance has already been initialized.
 */
public static void initialize(KeyedPooledObjectFactory<APNSConnectionKey, APNSConnection> factory,
        GenericKeyedObjectPoolConfig configuration) {
    if (initialized.get()) {
        throw new IllegalStateException("Can't initialize multiple times");
    }
    instance.connectionPool = new GenericKeyedObjectPool<APNSConnectionKey, APNSConnection>(factory,
            configuration);
    initialized.set(true);
    LOGGER.info("APNS Connection pool is initialized");
}

From source file:com.heliosapm.easymq.pool.PoolManager.java

private PoolManager() {
    final JsonNode rootNode = MQConfig.getInstance().getRootNode();
    poolConfig = JSONOps.parseToObject(rootNode.get("poolconfig"), GenericKeyedObjectPoolConfig.class);
    pool = new GenericKeyedObjectPool<PoolKey, PCFMessageAgentWrapper>(PCFAgentPooledObjectFactory.INSTANCE,
            poolConfig);//from ww w .j  a  va2s . c  o  m
    log.info("PCFMessageAgent Pool Started");
    final JsonNode poolDefs = rootNode.get("pools");
    for (JsonNode poolDef : poolDefs) {
        final SubPool subPool = JSONOps.parseToObject(poolDef, SubPool.class);
        installSubPool(subPool);
    }
    Runtime.getRuntime().addShutdownHook(new Thread("PoolManagerShutdown") {
        @Override
        public void run() {
            log.info("Closing PCF Pool...");
            pool.close();
        }
    });
}

From source file:com.quancheng.saluki.core.grpc.GrpcEngine.java

private void initChannelPool() {
    GenericKeyedObjectPoolConfig config = new GenericKeyedObjectPoolConfig();
    config.setMaxTotal(1000);/* w w w .ja  va2s  .  c  o  m*/
    config.setMaxTotalPerKey(3);
    config.setBlockWhenExhausted(true);
    config.setMinIdlePerKey(3);
    config.setMaxWaitMillis(10);
    config.setNumTestsPerEvictionRun(Integer.MAX_VALUE);
    config.setTestOnBorrow(false);
    config.setTestOnReturn(false);
    config.setTestWhileIdle(false);
    config.setTimeBetweenEvictionRunsMillis(1 * 60000L);
    config.setMinEvictableIdleTimeMillis(10 * 60000L);
    config.setTestWhileIdle(false);
    this.channelPool = new GenericKeyedObjectPool<GrpcURL, Channel>(new GrpcChannelFactory(), config);
}

From source file:com.vmware.identity.idm.server.provider.LdapConnectionPool.java

public void createPool(String tenantName) {

    GenericKeyedObjectPool<PooledLdapConnectionIdentity, ILdapConnectionEx> newPool = null;
    GenericKeyedObjectPool<PooledLdapConnectionIdentity, ILdapConnectionEx> currentPool = poolMap
            .get(tenantName.toLowerCase());

    if (currentPool == null) {
        newPool = new GenericKeyedObjectPool<>(new PooledLdapConnectionFactory(),
                getGenericKeyedObjectPoolConfig(tenantName));
        currentPool = poolMap.putIfAbsent(tenantName.toLowerCase(), newPool);
        if (currentPool != null) {
            newPool.close();// w w  w  .  j a va  2 s.  com
        }
        logger.info(currentPool != null ? "Pool created for tenant " + tenantName
                : "Pool already existed for tenant " + tenantName);
    }
}

From source file:io.mandrel.transport.thrift.KeyedClientPool.java

public KeyedClientPool(Class<T> clazz, ClientConnectorFactory clientConnectorFactory,
        GenericKeyedObjectPoolConfig poolConfig, ThriftClientManager clientManager) {
    this.clientManager = clientManager;
    this.internalPool = new GenericKeyedObjectPool<HostAndPort, T>(
            new ClientObjectFactory(clientConnectorFactory, clientManager, clazz), poolConfig);
}

From source file:com.haulmont.cuba.core.sys.AbstractScripting.java

private synchronized GenericKeyedObjectPool<String, Script> getPool() {
    if (pool == null) {
        GenericKeyedObjectPoolConfig poolConfig = new GenericKeyedObjectPoolConfig();
        poolConfig.setMaxTotalPerKey(-1);
        poolConfig.setMaxIdlePerKey(globalConfig.getGroovyEvaluationPoolMaxIdle());
        pool = new GenericKeyedObjectPool<>(new BaseKeyedPooledObjectFactory<String, Script>() {
            @Override//from   w w w . j a  va 2s. c  om
            public Script create(String key) throws Exception {
                return createScript(key);
            }

            @Override
            public PooledObject<Script> wrap(Script value) {
                return new DefaultPooledObject<>(value);
            }
        }, poolConfig);
    }
    return pool;
}

From source file:com.streamsets.datacollector.stagelibrary.ClassLoaderStageLibraryTask.java

@Override
public void initTask() {
    super.initTask();
    stageClassLoaders = runtimeInfo.getStageLibraryClassLoaders();
    if (!stageClassLoaders.isEmpty()) {
        resolveClassLoaderMethods(stageClassLoaders.get(0));
    }//from   w w w .  j  a va  2  s . c  om
    json = ObjectMapperFactory.get();
    stageList = new ArrayList<>();
    stageMap = new HashMap<>();
    loadStages();
    stageList = ImmutableList.copyOf(stageList);
    stageMap = ImmutableMap.copyOf(stageMap);

    // localization cache for definitions
    localizedStageList = CacheBuilder.newBuilder().build(new CacheLoader<Locale, List<StageDefinition>>() {
        @Override
        public List<StageDefinition> load(Locale key) throws Exception {
            List<StageDefinition> list = new ArrayList<>();
            for (StageDefinition stage : stageList) {
                list.add(stage.localize());
            }
            return list;
        }
    });
    validateStageVersions(stageList);

    // initializing the list of targets that can be used for error handling
    ErrorHandlingChooserValues.setErrorHandlingOptions(this);

    // initializing the list of targets that can be used as aggregating sink
    StatsTargetChooserValues.setStatsTargetOptions(this);

    // initializing the pool of private stage classloaders
    GenericKeyedObjectPoolConfig poolConfig = new GenericKeyedObjectPoolConfig();
    poolConfig.setJmxEnabled(false);
    poolConfig.setMaxTotal(
            configuration.get(MAX_PRIVATE_STAGE_CLASS_LOADERS_KEY, MAX_PRIVATE_STAGE_CLASS_LOADERS_DEFAULT));
    poolConfig.setMinEvictableIdleTimeMillis(-1);
    poolConfig.setNumTestsPerEvictionRun(0);
    poolConfig.setMaxIdlePerKey(-1);
    poolConfig.setMinIdlePerKey(0);
    poolConfig.setMaxTotalPerKey(-1);
    poolConfig.setBlockWhenExhausted(false);
    poolConfig.setMaxWaitMillis(0);
    privateClassLoaderPool = new GenericKeyedObjectPool<>(new ClassLoaderFactory(stageClassLoaders),
            poolConfig);
}