Java Code Examples for org.apache.commons.pool2.impl.GenericObjectPoolConfig#setJmxNamePrefix()

The following examples show how to use org.apache.commons.pool2.impl.GenericObjectPoolConfig#setJmxNamePrefix() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: KryoSerialization.java    From cuba with Apache License 2.0 6 votes vote down vote up
protected void initPool() {
    // assume that application context is already initialized
    Configuration configuration = AppBeans.get(Configuration.NAME);
    config = configuration.getConfig(KryoSerializationConfig.class);

    int poolSize = config.getMaxPoolSize();
    GenericObjectPoolConfig<Kryo> poolConfig = new GenericObjectPoolConfig<>();
    poolConfig.setMaxIdle(poolSize);
    poolConfig.setMaxTotal(poolSize);
    poolConfig.setMaxWaitMillis(config.getMaxBorrowWaitMillis());

    String jmxName = "kryo-" + AppContext.getProperty("cuba.webContextName");
    poolConfig.setJmxNamePrefix(jmxName);

    PooledObjectFactory<Kryo> factory = new KryoObjectFactory(this);
    pool = new GenericObjectPool<>(factory, poolConfig);
    log.debug("Kryo context pool created");
}
 
Example 2
Source File: BasicHerdDBDataSource.java    From herddb with Apache License 2.0 5 votes vote down vote up
protected synchronized void ensureClient() throws SQLException {
    if (client == null) {
        ClientConfiguration clientConfiguration = new ClientConfiguration(properties);
        Properties propsNoPassword = new Properties();
        propsNoPassword.putAll(properties);
        propsNoPassword.setProperty("password", "---");
        LOGGER.log(Level.INFO, "Booting HerdDB Client, url:" + url + ", properties:" + propsNoPassword + " clientConfig " + clientConfiguration);
        try {
            clientConfiguration.readJdbcUrl(url);
        } catch (RuntimeException err) {
            throw new SQLException(err);
        }
        if (properties.containsKey("discoverTableSpaceFromQuery")) {
            this.discoverTableSpaceFromQuery = clientConfiguration.getBoolean("discoverTableSpaceFromQuery", true);
        }
        client = new HDBClient(clientConfiguration);
    }
    if (pool == null) {
        if (properties.containsKey("maxActive")) {
            this.maxActive = Integer.parseInt(properties.get("maxActive").toString());
        }
        GenericObjectPoolConfig config = new GenericObjectPoolConfig();
        config.setBlockWhenExhausted(true);
        config.setMaxTotal(maxActive);
        config.setMaxIdle(maxActive);
        config.setMinIdle(maxActive / 2);
        config.setJmxNamePrefix("HerdDBClient");
        pool = new GenericObjectPool<>(new ConnectionsFactory(), config);
    }
}
 
Example 3
Source File: RedisStandaloneBuilder.java    From cachecloud with Apache License 2.0 5 votes vote down vote up
/**
 * 构造函数package访问域,package外直接构造实例;
 *
 * @param appId
 */
RedisStandaloneBuilder(final long appId) {
    this.appId = appId;
    poolConfig = new GenericObjectPoolConfig();
    poolConfig.setMaxTotal(GenericObjectPoolConfig.DEFAULT_MAX_TOTAL * 3);
    poolConfig.setMaxIdle(GenericObjectPoolConfig.DEFAULT_MAX_IDLE * 2);
    poolConfig.setMinIdle(GenericObjectPoolConfig.DEFAULT_MIN_IDLE);
    poolConfig.setJmxEnabled(true);
    poolConfig.setJmxNamePrefix("jedis-pool");
}
 
Example 4
Source File: RedisSentinelBuilder.java    From cachecloud with Apache License 2.0 5 votes vote down vote up
/**
 * 构造函数package访问域,package外不能直接构造实例;
 *
 * @param appId
 */
RedisSentinelBuilder(final long appId) {
    this.appId = appId;
    poolConfig = new GenericObjectPoolConfig();
    poolConfig.setMaxTotal(GenericObjectPoolConfig.DEFAULT_MAX_TOTAL * 3);
    poolConfig.setMaxIdle(GenericObjectPoolConfig.DEFAULT_MAX_IDLE * 2);
    poolConfig.setMinIdle(GenericObjectPoolConfig.DEFAULT_MIN_IDLE);
    poolConfig.setMaxWaitMillis(1000L);
    poolConfig.setJmxNamePrefix("jedis-sentinel-pool");
    poolConfig.setJmxEnabled(true);
}
 
Example 5
Source File: RedisClusterBuilder.java    From cachecloud with Apache License 2.0 5 votes vote down vote up
/**
 * 构造函数package访问域,package外不能直接构造实例;
 *
 * @param appId
 */
RedisClusterBuilder(final long appId) {
    this.appId = appId;
    GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
    poolConfig.setMaxTotal(GenericObjectPoolConfig.DEFAULT_MAX_TOTAL * 5);
    poolConfig.setMaxIdle(GenericObjectPoolConfig.DEFAULT_MAX_IDLE * 2);
    poolConfig.setMinIdle(GenericObjectPoolConfig.DEFAULT_MAX_IDLE);
    //JedisPool.borrowObject最大等待时间
    poolConfig.setMaxWaitMillis(1000L);
    poolConfig.setJmxNamePrefix("jedis-pool");
    poolConfig.setJmxEnabled(true);
    this.jedisPoolConfig = poolConfig;
}
 
Example 6
Source File: RedisClusterTest.java    From cachecloud with Apache License 2.0 5 votes vote down vote up
private GenericObjectPoolConfig getPoolConfig() {
    GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
    poolConfig.setMaxTotal(GenericObjectPoolConfig.DEFAULT_MAX_TOTAL * 20);
    poolConfig.setMaxIdle(GenericObjectPoolConfig.DEFAULT_MAX_IDLE * 20);
    poolConfig.setMinIdle(GenericObjectPoolConfig.DEFAULT_MAX_IDLE * 10);
    // JedisPool.borrowObject最大等待时间
    poolConfig.setMaxWaitMillis(1000L);
    poolConfig.setJmxNamePrefix("jedis-pool");
    poolConfig.setJmxEnabled(true);
    return poolConfig;
}
 
Example 7
Source File: Dom4jTools.java    From cuba with Apache License 2.0 5 votes vote down vote up
protected void initPool() {
    int poolSize = config.getMaxPoolSize();
    GenericObjectPoolConfig<SAXParser> poolConfig = new GenericObjectPoolConfig<>();
    poolConfig.setMaxIdle(poolSize);
    poolConfig.setMaxTotal(poolSize);
    poolConfig.setMaxWaitMillis(config.getMaxBorrowWaitMillis());

    String jmxName = "dom4JTools-" + globalConfig.getWebContextName();
    poolConfig.setJmxNamePrefix(jmxName);

    PooledObjectFactory<SAXParser> factory = new SAXParserObjectFactory();
    pool = new GenericObjectPool<>(factory, poolConfig);
}
 
Example 8
Source File: BasicDataSource.java    From commons-dbcp with Apache License 2.0 5 votes vote down vote up
private void updateJmxName(final GenericObjectPoolConfig<?> config) {
    if (registeredJmxObjectName == null) {
        return;
    }
    final StringBuilder base = new StringBuilder(registeredJmxObjectName.toString());
    base.append(Constants.JMX_CONNECTION_POOL_BASE_EXT);
    config.setJmxNameBase(base.toString());
    config.setJmxNamePrefix(Constants.JMX_CONNECTION_POOL_PREFIX);
}
 
Example 9
Source File: DefaultRedisModuleCfg.java    From ymate-platform-v2 with Apache License 2.0 4 votes vote down vote up
private RedisDataSourceCfgMeta __doParserDataSourceCfgMeta(String dsName, Map<String, String> dataSourceCfgs) throws Exception {
    IConfigReader _dataSourceCfg = MapSafeConfigReader.bind(dataSourceCfgs);
    //
    IRedis.ConnectionType _connectionType;
    try {
        _connectionType = IRedis.ConnectionType.valueOf(_dataSourceCfg.getString(CONNECTION_TYPE, IConfig.DEFAULT_STR).toUpperCase());
    } catch (IllegalArgumentException e) {
        throw new UnsupportedOperationException("Redis connection type unsupported.");
    }
    String _masterServerName = _dataSourceCfg.getString(MASTER_SERVER_NAME, IConfig.DEFAULT_STR);
    List<ServerMeta> _servers = new ArrayList<ServerMeta>();
    String[] _serverNames = StringUtils.split(_dataSourceCfg.getString(SERVER_NAME_LIST, IConfig.DEFAULT_STR), "|");
    if (_serverNames != null) {
        for (String _serverName : _serverNames) {
            IConfigReader _serverCfg = MapSafeConfigReader.bind(_dataSourceCfg.getMap("server." + _serverName + "."));
            if (!_serverCfg.toMap().isEmpty()) {
                ServerMeta _servMeta = new ServerMeta();
                _servMeta.setName(_serverName);
                _servMeta.setHost(_serverCfg.getString(HOST, "localhost"));
                _servMeta.setPort(_serverCfg.getInt(PORT, 6379));
                _servMeta.setTimeout(_serverCfg.getInt(TIMEOUT, 2000));
                _servMeta.setSocketTimeout(_serverCfg.getInt(SOCKET_TIMEOUT, 2000));
                _servMeta.setMaxAttempts(_serverCfg.getInt(MAX_ATTEMPTS, 3));
                _servMeta.setWeight(_serverCfg.getInt(WEIGHT, 1));
                _servMeta.setDatabase(_serverCfg.getInt(DATABASE, 0));
                _servMeta.setClientName(_serverCfg.getString(CLIENT_NAME));
                _servMeta.setPassword(_serverCfg.getString(PASSWORD));
                //
                boolean _isPwdEncrypted = _dataSourceCfg.getBoolean(PASSWORD_ENCRYPTED);
                //
                if (_isPwdEncrypted && StringUtils.isNotBlank(_servMeta.getPassword())) {
                    IPasswordProcessor _proc = _serverCfg.getClassImpl(PASSWORD_CLASS, IPasswordProcessor.class);
                    if (_proc == null) {
                        _proc = __owner.getConfig().getDefaultPasswordClass().newInstance();
                    }
                    if (_proc != null) {
                        _servMeta.setPassword(_proc.decrypt(_servMeta.getPassword()));
                    }
                }
                //
                _servers.add(_servMeta);
            }
        }
    }
    //
    GenericObjectPoolConfig _poolConfig = new GenericObjectPoolConfig();
    IConfigReader _poolCfg = MapSafeConfigReader.bind(_dataSourceCfg.getMap("pool."));
    if (!_poolCfg.toMap().isEmpty()) {
        _poolConfig.setMinIdle(_poolCfg.getInt(MIN_IDLE, GenericObjectPoolConfig.DEFAULT_MIN_IDLE));
        _poolConfig.setMaxIdle(_poolCfg.getInt(MAX_IDLE, GenericObjectPoolConfig.DEFAULT_MAX_IDLE));
        _poolConfig.setMaxTotal(_poolCfg.getInt(MAX_TOTAL, GenericObjectPoolConfig.DEFAULT_MAX_TOTAL));
        _poolConfig.setBlockWhenExhausted(_poolCfg.getBoolean(BLOCK_WHEN_EXHAUSTED, GenericObjectPoolConfig.DEFAULT_BLOCK_WHEN_EXHAUSTED));
        _poolConfig.setFairness(_poolCfg.getBoolean(FAIRNESS, GenericObjectPoolConfig.DEFAULT_FAIRNESS));
        _poolConfig.setJmxEnabled(_poolCfg.getBoolean(JMX_ENABLE, GenericObjectPoolConfig.DEFAULT_JMX_ENABLE));
        _poolConfig.setJmxNameBase(_poolCfg.getString(JMX_NAME_BASE, GenericObjectPoolConfig.DEFAULT_JMX_NAME_BASE));
        _poolConfig.setJmxNamePrefix(_poolCfg.getString(JMX_NAME_PREFIX, GenericObjectPoolConfig.DEFAULT_JMX_NAME_PREFIX));
        _poolConfig.setEvictionPolicyClassName(_poolCfg.getString(EVICTION_POLICY_CLASS_NAME, GenericObjectPoolConfig.DEFAULT_EVICTION_POLICY_CLASS_NAME));
        _poolConfig.setLifo(_poolCfg.getBoolean(LIFO, GenericObjectPoolConfig.DEFAULT_LIFO));
        _poolConfig.setMaxWaitMillis(_poolCfg.getLong(MAX_WAIT_MILLIS, GenericObjectPoolConfig.DEFAULT_MAX_WAIT_MILLIS));
        _poolConfig.setMinEvictableIdleTimeMillis(_poolCfg.getLong(MIN_EVICTABLE_IDLE_TIME_MILLIS, GenericObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS));
        _poolConfig.setSoftMinEvictableIdleTimeMillis(_poolCfg.getLong(SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS, GenericObjectPoolConfig.DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS));
        _poolConfig.setTestOnBorrow(_poolCfg.getBoolean(TEST_ON_BORROW, GenericObjectPoolConfig.DEFAULT_TEST_ON_BORROW));
        _poolConfig.setTestOnReturn(_poolCfg.getBoolean(TEST_ON_RETURN, GenericObjectPoolConfig.DEFAULT_TEST_ON_RETURN));
        _poolConfig.setTestOnCreate(_poolCfg.getBoolean(TEST_ON_CREATE, GenericObjectPoolConfig.DEFAULT_TEST_ON_CREATE));
        _poolConfig.setTestWhileIdle(_poolCfg.getBoolean(TEST_WHILE_IDLE, GenericObjectPoolConfig.DEFAULT_TEST_WHILE_IDLE));
        _poolConfig.setNumTestsPerEvictionRun(_poolCfg.getInt(NUM_TESTS_PER_EVICTION_RUN, GenericObjectPoolConfig.DEFAULT_NUM_TESTS_PER_EVICTION_RUN));
        _poolConfig.setTimeBetweenEvictionRunsMillis(_poolCfg.getLong(TIME_BETWEEN_EVICTION_RUNS_MILLIS, GenericObjectPoolConfig.DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS));
    }
    return new RedisDataSourceCfgMeta(dsName, _connectionType, _masterServerName, _servers, _poolConfig);
}
 
Example 10
Source File: TestPStmtPooling.java    From commons-dbcp with Apache License 2.0 4 votes vote down vote up
@Test
public void testCallableStatementPooling() throws Exception {
    DriverManager.registerDriver(new TesterDriver());
    final ConnectionFactory connFactory = new DriverManagerConnectionFactory(
            "jdbc:apache:commons:testdriver","u1","p1");

    final ObjectName oName = new ObjectName("UnitTests:DataSource=test");
    final PoolableConnectionFactory pcf =
        new PoolableConnectionFactory(connFactory, oName);
    pcf.setPoolStatements(true);
    pcf.setDefaultReadOnly(Boolean.FALSE);
    pcf.setDefaultAutoCommit(Boolean.TRUE);

    final GenericObjectPoolConfig<PoolableConnection> config = new GenericObjectPoolConfig<>();
    config.setJmxNameBase("UnitTests:DataSource=test,connectionpool=connections");
    config.setJmxNamePrefix("");
    final ObjectPool<PoolableConnection> connPool = new GenericObjectPool<>(pcf, config);
    pcf.setPool(connPool);

    final PoolingDataSource<?> ds = new PoolingDataSource<>(connPool);

    try (Connection conn = ds.getConnection()) {
        final Statement stmt1 = conn.prepareStatement("select 1 from dual");
        final Statement ustmt1 = ((DelegatingStatement) stmt1).getInnermostDelegate();
        final Statement cstmt1 = conn.prepareCall("{call home}");
        final Statement ucstmt1 = ((DelegatingStatement) cstmt1).getInnermostDelegate();
        stmt1.close();  // Return to pool
        cstmt1.close(); // ""
        final Statement stmt2 = conn.prepareStatement("select 1 from dual"); // Check out from pool
        final Statement ustmt2 = ((DelegatingStatement) stmt2).getInnermostDelegate();
        final Statement cstmt2 = conn.prepareCall("{call home}");
        final Statement ucstmt2 = ((DelegatingStatement) cstmt2).getInnermostDelegate();
        stmt2.close();  // Return to pool
        cstmt2.close(); // ""
        assertSame(ustmt1, ustmt2);
        assertSame(ucstmt1, ucstmt2);
        // Verify key distinguishes Callable from Prepared Statements in the pool
        final Statement stmt3 = conn.prepareCall("select 1 from dual");
        final Statement ustmt3 = ((DelegatingStatement) stmt3).getInnermostDelegate();
        stmt3.close();
        assertNotSame(ustmt1, ustmt3);
        assertNotSame(ustmt3, ucstmt1);
    }
    ds.close();
}