List of usage examples for org.apache.commons.pool2.impl GenericKeyedObjectPoolConfig setJmxEnabled
public void setJmxEnabled(boolean jmxEnabled)
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.ja v a2 s . co m*/ 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); }
From source file:JDBCPool.dbcp.demo.sourcecode.PoolableConnectionFactory.java
/** * ?PoolDefaultPooledObject??Connection/*from ww w . j a v a 2s . com*/ */ @Override public PooledObject<PoolableConnection> makeObject() throws Exception { Connection conn = _connFactory.createConnection(); if (conn == null) { throw new IllegalStateException("Connection factory returned null from createConnection"); } try { initializeConnection(conn); //?SQL?SQL } catch (SQLException sqle) { // Make sure the connection is closed try { conn.close(); } catch (SQLException ignore) { // ignore } // Rethrow original exception so it is visible to caller throw sqle; } long connIndex = connectionIndex.getAndIncrement(); if (poolStatements) { conn = new PoolingConnection(conn); GenericKeyedObjectPoolConfig config = new GenericKeyedObjectPoolConfig(); config.setMaxTotalPerKey(-1); config.setBlockWhenExhausted(false); config.setMaxWaitMillis(0); config.setMaxIdlePerKey(1); config.setMaxTotal(maxOpenPreparedStatements); if (dataSourceJmxName != null) { StringBuilder base = new StringBuilder(dataSourceJmxName.toString()); base.append(Constants.JMX_CONNECTION_BASE_EXT); base.append(Long.toString(connIndex)); config.setJmxNameBase(base.toString()); config.setJmxNamePrefix(Constants.JMX_STATEMENT_POOL_PREFIX); } else { config.setJmxEnabled(false); } KeyedObjectPool<PStmtKey, DelegatingPreparedStatement> stmtPool = new GenericKeyedObjectPool<>( (PoolingConnection) conn, config); ((PoolingConnection) conn).setStatementPool(stmtPool); ((PoolingConnection) conn).setCacheState(_cacheState); } // Register this connection with JMX ObjectName connJmxName; if (dataSourceJmxName == null) { connJmxName = null; } else { connJmxName = new ObjectName( dataSourceJmxName.toString() + Constants.JMX_CONNECTION_BASE_EXT + connIndex); } PoolableConnection pc = new PoolableConnection(conn, _pool, connJmxName, _disconnectionSqlCodes, _fastFailValidation); return new DefaultPooledObject<>(pc); }
From source file:org.apache.activemq.jms.pool.ConnectionPool.java
public ConnectionPool(Connection connection) { final GenericKeyedObjectPoolConfig poolConfig = new GenericKeyedObjectPoolConfig(); poolConfig.setJmxEnabled(false); this.connection = wrap(connection); // Create our internal Pool of session instances. this.sessionPool = new GenericKeyedObjectPool<SessionKey, SessionHolder>( new KeyedPooledObjectFactory<SessionKey, SessionHolder>() { @Override//from w ww . j ava 2 s . c o m public PooledObject<SessionHolder> makeObject(SessionKey sessionKey) throws Exception { return new DefaultPooledObject<SessionHolder>(new SessionHolder(makeSession(sessionKey))); } @Override public void destroyObject(SessionKey sessionKey, PooledObject<SessionHolder> pooledObject) throws Exception { ((SessionHolder) pooledObject.getObject()).close(); } @Override public boolean validateObject(SessionKey sessionKey, PooledObject<SessionHolder> pooledObject) { return true; } @Override public void activateObject(SessionKey sessionKey, PooledObject<SessionHolder> pooledObject) throws Exception { } @Override public void passivateObject(SessionKey sessionKey, PooledObject<SessionHolder> pooledObject) throws Exception { } }, poolConfig); }
From source file:org.apache.activemq.jms.pool.PooledConnectionFactory.java
public void initConnectionsPool() { if (this.connectionsPool == null) { final GenericKeyedObjectPoolConfig poolConfig = new GenericKeyedObjectPoolConfig(); poolConfig.setJmxEnabled(false); this.connectionsPool = new GenericKeyedObjectPool<ConnectionKey, ConnectionPool>( new KeyedPooledObjectFactory<ConnectionKey, ConnectionPool>() { @Override/*from ww w .ja v a2s .c om*/ public PooledObject<ConnectionPool> makeObject(ConnectionKey connectionKey) throws Exception { Connection delegate = createConnection(connectionKey); ConnectionPool connection = createConnectionPool(delegate); connection.setIdleTimeout(getIdleTimeout()); connection.setExpiryTimeout(getExpiryTimeout()); connection.setMaximumActiveSessionPerConnection(getMaximumActiveSessionPerConnection()); connection.setBlockIfSessionPoolIsFull(isBlockIfSessionPoolIsFull()); if (isBlockIfSessionPoolIsFull() && getBlockIfSessionPoolIsFullTimeout() > 0) { connection.setBlockIfSessionPoolIsFullTimeout(getBlockIfSessionPoolIsFullTimeout()); } connection.setUseAnonymousProducers(isUseAnonymousProducers()); connection.setReconnectOnException(isReconnectOnException()); if (LOG.isTraceEnabled()) { LOG.trace("Created new connection: {}", connection); } PooledConnectionFactory.this.mostRecentlyCreated.set(connection); return new DefaultPooledObject<ConnectionPool>(connection); } @Override public void destroyObject(ConnectionKey connectionKey, PooledObject<ConnectionPool> pooledObject) throws Exception { ConnectionPool connection = pooledObject.getObject(); try { if (LOG.isTraceEnabled()) { LOG.trace("Destroying connection: {}", connection); } connection.close(); } catch (Exception e) { LOG.warn("Close connection failed for connection: " + connection + ". This exception will be ignored.", e); } } @Override public boolean validateObject(ConnectionKey connectionKey, PooledObject<ConnectionPool> pooledObject) { ConnectionPool connection = pooledObject.getObject(); if (connection != null && connection.expiredCheck()) { if (LOG.isTraceEnabled()) { LOG.trace("Connection has expired: {} and will be destroyed", connection); } return false; } return true; } @Override public void activateObject(ConnectionKey connectionKey, PooledObject<ConnectionPool> pooledObject) throws Exception { } @Override public void passivateObject(ConnectionKey connectionKey, PooledObject<ConnectionPool> pooledObject) throws Exception { } }, poolConfig); // Set max idle (not max active) since our connections always idle in the pool. this.connectionsPool.setMaxIdlePerKey(1); this.connectionsPool.setLifo(false); // We always want our validate method to control when idle objects are evicted. this.connectionsPool.setTestOnBorrow(true); this.connectionsPool.setTestWhileIdle(true); } }
From source file:org.springframework.ldap.pool2.factory.PooledContextSource.java
private GenericKeyedObjectPoolConfig getConfig(PoolConfig poolConfig) { GenericKeyedObjectPoolConfig objectPoolConfig = new GenericKeyedObjectPoolConfig(); objectPoolConfig.setMaxTotalPerKey(poolConfig.getMaxTotalPerKey()); objectPoolConfig.setMaxTotal(poolConfig.getMaxTotal()); objectPoolConfig.setMaxIdlePerKey(poolConfig.getMaxIdlePerKey()); objectPoolConfig.setMinIdlePerKey(poolConfig.getMinIdlePerKey()); objectPoolConfig.setTestWhileIdle(poolConfig.isTestWhileIdle()); objectPoolConfig.setTestOnReturn(poolConfig.isTestOnReturn()); objectPoolConfig.setTestOnCreate(poolConfig.isTestOnCreate()); objectPoolConfig.setTestOnBorrow(poolConfig.isTestOnBorrow()); objectPoolConfig.setTimeBetweenEvictionRunsMillis(poolConfig.getTimeBetweenEvictionRunsMillis()); objectPoolConfig.setEvictionPolicyClassName(poolConfig.getEvictionPolicyClassName()); objectPoolConfig.setMinEvictableIdleTimeMillis(poolConfig.getMinEvictableIdleTimeMillis()); objectPoolConfig.setNumTestsPerEvictionRun(poolConfig.getNumTestsPerEvictionRun()); objectPoolConfig.setSoftMinEvictableIdleTimeMillis(poolConfig.getSoftMinEvictableIdleTimeMillis()); objectPoolConfig.setJmxEnabled(poolConfig.isJmxEnabled()); objectPoolConfig.setJmxNameBase(poolConfig.getJmxNameBase()); objectPoolConfig.setJmxNamePrefix(poolConfig.getJmxNamePrefix()); objectPoolConfig.setMaxWaitMillis(poolConfig.getMaxWaitMillis()); objectPoolConfig.setFairness(poolConfig.isFairness()); objectPoolConfig.setBlockWhenExhausted(poolConfig.isBlockWhenExhausted()); objectPoolConfig.setLifo(poolConfig.isLifo()); return objectPoolConfig; }