List of usage examples for org.apache.commons.pool2 PooledObject getObject
T getObject();
From source file:org.adriss.bucketpool.BucketFactory.java
@Override public void destroyObject(PooledObject<Bucket> p) throws Exception { WrappedBucket bucket = (WrappedBucket) p.getObject(); logger.debug("Destroyed [{}] bucket", bucket); WrappedCluster cluster = bucket.getCluster(); if (bucket.close()) { this.unusedClusters.add(cluster); }/*from ww w .j a va 2 s. co m*/ }
From source file:org.adriss.bucketpool.BucketFactory.java
@Override public boolean validateObject(PooledObject<Bucket> p) { return !p.getObject().isClosed(); }
From source file:org.adriss.bucketpool.BucketFactory.java
@Override public void activateObject(PooledObject<Bucket> p) throws Exception { WrappedBucket bucket = (WrappedBucket) p.getObject(); if (bucket.isClosed()) { bucket.open();/*from ww w . j a v a 2 s. c o m*/ } }
From source file:org.adriss.bucketpool.BucketFactory.java
@Override public void passivateObject(PooledObject<Bucket> p) throws Exception { if (this.passivate) { p.getObject().close(); }/*from w w w .ja v a 2 s . c o m*/ }
From source file:org.apache.activemq.jms.pool.ConnectionPool.java
public ConnectionPool(Connection connection) { final GenericKeyedObjectPoolConfig poolConfig = new GenericKeyedObjectPoolConfig(); poolConfig.setJmxEnabled(false);//from w w w .j av a 2s.c o m this.connection = wrap(connection); // Create our internal Pool of session instances. this.sessionPool = new GenericKeyedObjectPool<SessionKey, SessionHolder>( new KeyedPooledObjectFactory<SessionKey, SessionHolder>() { @Override 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 w ww.ja v a 2s. co m*/ 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.apache.jmeter.visualizers.backend.graphite.SocketOutputStreamPoolFactory.java
@Override public void destroyObject(SocketConnectionInfos socketConnectionInfos, PooledObject<SocketOutputStream> socketOutputStream) throws Exception { super.destroyObject(socketConnectionInfos, socketOutputStream); SocketOutputStream outputStream = socketOutputStream.getObject(); JOrphanUtils.closeQuietly(outputStream); JOrphanUtils.closeQuietly(outputStream.getSocket()); }
From source file:org.apache.jmeter.visualizers.backend.graphite.SocketOutputStreamPoolFactory.java
/** *///from w w w . j a va 2s. c o m @Override public boolean validateObject(SocketConnectionInfos hostAndPort, PooledObject<SocketOutputStream> socketOutputStream) { Socket socket = socketOutputStream.getObject().getSocket(); return socket.isConnected() && socket.isBound() && !socket.isClosed() && !socket.isInputShutdown() && !socket.isOutputShutdown(); }
From source file:org.apache.karaf.jms.pool.internal.ConnectionPool.java
public ConnectionPool(Connection connection) { this.connection = connection; // Create our internal Pool of session instances. this.sessionPool = new GenericKeyedObjectPool<>(new KeyedPooledObjectFactory<SessionKey, PooledSession>() { @Override/* www . jav a 2s.c om*/ public void activateObject(SessionKey key, PooledObject<PooledSession> session) throws Exception { ConnectionPool.this.loanedSessions.add(session.getObject()); } @Override public void destroyObject(SessionKey key, PooledObject<PooledSession> session) throws Exception { ConnectionPool.this.loanedSessions.remove(session.getObject()); session.getObject().getInternalSession().close(); } @Override public PooledObject<PooledSession> makeObject(SessionKey key) throws Exception { Session session = makeSession(key); return new DefaultPooledObject<>( new PooledSession(key, session, sessionPool, key.isTransacted(), useAnonymousProducers)); } @Override public void passivateObject(SessionKey key, PooledObject<PooledSession> session) throws Exception { ConnectionPool.this.loanedSessions.remove(session.getObject()); } @Override public boolean validateObject(SessionKey key, PooledObject<PooledSession> session) { return true; } }); }
From source file:org.apache.karaf.jms.pool.internal.PooledConnectionFactory.java
public void initConnectionsPool() { if (this.connectionsPool == null) { this.connectionsPool = new GenericKeyedObjectPool<>( new KeyedPooledObjectFactory<ConnectionKey, ConnectionPool>() { @Override//www. j a va 2 s .co m public void activateObject(ConnectionKey key, PooledObject<ConnectionPool> connection) throws Exception { } @Override public void destroyObject(ConnectionKey key, PooledObject<ConnectionPool> connection) throws Exception { try { if (LOG.isTraceEnabled()) { LOG.trace("Destroying connection: {}", connection); } connection.getObject().close(); } catch (Exception e) { LOG.warn("Close connection failed for connection: " + connection + ". This exception will be ignored.", e); } } @Override public PooledObject<ConnectionPool> makeObject(ConnectionKey key) throws Exception { Connection delegate = createConnection(key); 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()); if (LOG.isTraceEnabled()) { LOG.trace("Created new connection: {}", connection); } return new DefaultPooledObject<>(connection); } @Override public void passivateObject(ConnectionKey key, PooledObject<ConnectionPool> connection) throws Exception { } @Override public boolean validateObject(ConnectionKey key, PooledObject<ConnectionPool> connection) { if (connection != null && connection.getObject() != null && connection.getObject().expiredCheck()) { if (LOG.isTraceEnabled()) { LOG.trace("Connection has expired: {} and will be destroyed", connection); } return false; } return true; } }); // Set max idle (not max active) since our connections always idle in the pool. this.connectionsPool.setMaxIdlePerKey(1); // We always want our validate method to control when idle objects are evicted. this.connectionsPool.setTestOnBorrow(true); this.connectionsPool.setTestWhileIdle(true); } }