List of usage examples for org.apache.commons.pool2.impl DefaultPooledObject DefaultPooledObject
public DefaultPooledObject(T object)
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 a v a2 s. 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 ww w . ja va 2 s.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 PooledObject<SocketOutputStream> wrap(SocketOutputStream outputStream) { return new DefaultPooledObject<>(outputStream); }
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//from w ww . ja va2 s . 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//w ww. java 2s . 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); } }
From source file:org.apache.sentry.service.thrift.SentryServiceClientPoolFactory.java
@Override public PooledObject<SentryPolicyServiceClient> wrap(SentryPolicyServiceClient client) { return new DefaultPooledObject<SentryPolicyServiceClient>(client); }
From source file:org.bimserver.renderengine.RenderEnginePool.java
public RenderEnginePool(int poolSize, RenderEngineFactory renderEngineFactory) throws RenderEngineException { super(new PooledObjectFactory<RenderEngine>() { @Override/*from www .ja va 2 s. com*/ public void activateObject(PooledObject<RenderEngine> arg0) throws Exception { arg0.getObject().init(); } @Override public void destroyObject(PooledObject<RenderEngine> arg0) throws Exception { } @Override public PooledObject<RenderEngine> makeObject() throws Exception { return new DefaultPooledObject<RenderEngine>(renderEngineFactory.createRenderEngine()); } @Override public void passivateObject(PooledObject<RenderEngine> arg0) throws Exception { } @Override public boolean validateObject(PooledObject<RenderEngine> arg0) { return false; } }); setMaxTotal(8); // available = new ArrayBlockingQueue<>(poolSize); // busy = new HashSet<>(); // for (int i=0; i<poolSize; i++) { // available.add(renderEngineFactory.createRenderEngine()); // } }
From source file:org.cloudgraph.hbase.connect.PooledConnectionFactory.java
@Override public PooledObject<Connection> wrap(Connection con) { return new DefaultPooledObject<Connection>(con); }
From source file:org.cloudgraph.state.StateDataBindingFactory.java
@Override public PooledObject<StateNonValidatingDataBinding> wrap(StateNonValidatingDataBinding binding) { return new DefaultPooledObject<StateNonValidatingDataBinding>(binding); }
From source file:org.codelibs.fess.crawler.pool.CrawlerPooledObjectFactory.java
@Override public PooledObject<T> wrap(final T obj) { return new DefaultPooledObject<T>(obj); }