List of usage examples for org.apache.commons.pool2 BaseKeyedPooledObjectFactory BaseKeyedPooledObjectFactory
BaseKeyedPooledObjectFactory
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 ww w. j a va 2 s . c o m 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:org.jmxtrans.embedded.util.pool.ManagedGenericKeyedObjectPoolTest.java
@Test public void testMbeanAttributeAccess() throws Exception { BaseKeyedPooledObjectFactory<String, String> factory = new BaseKeyedPooledObjectFactory<String, String>() { @Override/* w w w . ja v a2 s . c o m*/ public String create(String key) throws Exception { return key; } @Override public PooledObject<String> wrap(String value) { return new DefaultPooledObject<String>(value); } }; GenericKeyedObjectPoolConfig config = new GenericKeyedObjectPoolConfig(); config.setJmxNameBase("org.jmxtrans.embedded:type=GenericKeyedObjectPool,writer=MyWriter,name="); config.setJmxNamePrefix("my-host_1234"); GenericKeyedObjectPool<String, String> objectPool = new GenericKeyedObjectPool<String, String>(factory, config); ObjectName objectName = new ObjectName( "org.jmxtrans.embedded:type=GenericKeyedObjectPool,writer=MyWriter,name=my-host_1234"); MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); try { Object numIdle = mbeanServer.getAttribute(objectName, "NumIdle"); assertThat(numIdle, instanceOf(Number.class)); } finally { mbeanServer.unregisterMBean(objectName); } }