本文整理匯總了Java中org.apache.commons.pool2.impl.DefaultPooledObject類的典型用法代碼示例。如果您正苦於以下問題:Java DefaultPooledObject類的具體用法?Java DefaultPooledObject怎麽用?Java DefaultPooledObject使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
DefaultPooledObject類屬於org.apache.commons.pool2.impl包,在下文中一共展示了DefaultPooledObject類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
public PooledObject<Socket> makeObject() throws Exception {
// 簡單策略隨機取服務器,沒有考慮權重
List<ServerAddress> temps = new ArrayList<ServerAddress>();
temps.addAll(serverGroup.getServers());
for (int i = temps.size() - 1; i >= 0; i--) {
int index = new Random(System.currentTimeMillis()).nextInt(temps.size());
ServerAddress server = temps.get(index);
try {
PooledObject<Socket> po = new DefaultPooledObject<Socket>(
new Socket(server.getIp(), server.getPort()));
if (logger.isDebugEnabled()) {
logger.debug("tcpPool makeObject[" + server.getIp() + ":" + server.getPort() + "] success!");
}
return po;
} catch (Exception e) {
temps.remove(i);
logger.error("tcpPool makeObject[" + server.getIp() + ":" + server.getPort() + "] failed! "
+ e.getMessage());
}
}
// 沒有可用服務器時,請求一下registry更新服務器信息
this.updateServerGroup();
throw new Exception("No server available!");
}
示例2: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public PooledObject<Jedis> makeObject() throws Exception {
final HostAndPort hostAndPort = this.hostAndPort.get();
final Jedis jedis = new Jedis(hostAndPort.getHost(), hostAndPort.getPort(), connectionTimeout,
soTimeout);
jedis.connect();
if (null != this.password) {
jedis.auth(this.password);
}
if (database != 0) {
jedis.select(database);
}
if (clientName != null) {
jedis.clientSetname(clientName);
}
return new DefaultPooledObject<Jedis>(jedis);
}
示例3: setupObjectPool
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public void setupObjectPool() {
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
config.setMaxTotal(poolSize);
objectPool = new GenericObjectPool<>(new BasePooledObjectFactory<TestObject>() {
@Override
public TestObject create() throws Exception {
return new TestObject(true);
}
@Override
public PooledObject<TestObject> wrap(TestObject testObject) {
return new DefaultPooledObject<>(testObject);
}
}, config);
}
示例4: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public PooledObject<Jedis> makeObject() throws Exception {
final HostAndPort hostAndPort = this.hostAndPort.get();
final Jedis jedis = new Jedis(hostAndPort.getHost(), hostAndPort.getPort(), connectionTimeout,
soTimeout);
try {
jedis.connect();
if (null != this.password) {
jedis.auth(this.password);
}
if (database != 0) {
jedis.select(database);
}
if (clientName != null) {
jedis.clientSetname(clientName);
}
} catch (JedisException je) {
jedis.close();
throw je;
}
return new DefaultPooledObject<Jedis>(jedis);
}
示例5: main
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
public static void main(String[] args) {
log("PCFMessageAgent Test");
final Properties p = new Properties();
p.setProperty(HOST_KEY, "localhost");
p.setProperty(PORT_KEY, "1430");
p.setProperty(CHANNEL_KEY, "JBOSS.SVRCONN");
MQPCFPoolBuilder poolBuilder = new MQPCFPoolBuilder(p);
log("Created");
log("PCF_CTOR: [" + PCF_CTOR + "]");
Object o = null;
PooledObject<Object> pooledObject = null;
try {
o = poolBuilder.create();
log("Created Object: [" + o + "]");
pooledObject = new DefaultPooledObject<Object>(o);
log("Validating Object....");
poolBuilder.validateObject(pooledObject);
//SystemClock.sleep(100000);
} finally {
if(pooledObject!=null) try { poolBuilder.destroyObject(pooledObject); } catch (Exception x) {}
}
}
示例6: getPool
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
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
public Script create(String key) throws Exception {
return createScript(key);
}
@Override
public PooledObject<Script> wrap(Script value) {
return new DefaultPooledObject<>(value);
}
},
poolConfig
);
}
return pool;
}
示例7: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public PooledObject<Jedis> makeObject() throws Exception {
final Jedis jedis = new Jedis(this.host, this.port, this.timeout);
jedis.connect();
if (null != this.password) {
jedis.auth(this.password);
}
if (database != 0) {
jedis.select(database);
}
if (clientName != null) {
jedis.clientSetname(clientName);
}
return new DefaultPooledObject<Jedis>(jedis);
}
示例8: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public PooledObject<Jedis> makeObject() throws Exception {
final HostAndPort hostAndPort = this.hostAndPort.get();
final Jedis jedis = new Jedis(hostAndPort.getHost(), hostAndPort.getPort(), connectionTimeout);
jedis.connect();
if (null != this.password) {
jedis.auth(this.password);
}
if (database != 0) {
jedis.select(database);
}
if (clientName != null) {
jedis.clientSetname(clientName);
}
return new DefaultPooledObject<Jedis>(jedis);
}
示例9: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public PooledObject<Jedis> makeObject() throws Exception {
final HostAndPort hostAndPort = this.hostAndPort.get();
final Jedis jedis = new Jedis(hostAndPort.getHost(), hostAndPort.getPort(), this.timeout);
jedis.connect();
if (null != this.password) {
jedis.auth(this.password);
}
if (database != 0) {
jedis.select(database);
}
if (clientName != null) {
jedis.clientSetname(clientName);
}
return new DefaultPooledObject<Jedis>(jedis);
}
示例10: invoke
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
if (calledMethods == null) {
return null;
}
calledMethods.add(method.getName());
if (boolean.class.equals(method.getReturnType())) {
return Boolean.FALSE;
} else if (int.class.equals(method.getReturnType())) {
return Integer.valueOf(0);
} else if (long.class.equals(method.getReturnType())) {
return Long.valueOf(0);
} else if (Object.class.equals(method.getReturnType())) {
return new Object();
} else if (PooledObject.class.equals(method.getReturnType())) {
return new DefaultPooledObject<>(new Object());
} else {
return null;
}
}
示例11: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
/**
* My {@link KeyedPooledObjectFactory} method for creating
* {@link PreparedStatement}s.
* @param key the key for the {@link PreparedStatement} to be created
*/
@Override
public PooledObject<PoolablePreparedStatement<PStmtKeyCPDS>> makeObject(final PStmtKeyCPDS key) throws Exception {
if (null == key) {
throw new IllegalArgumentException();
}
// _openPstmts++;
if (null == key.getResultSetType()
&& null == key.getResultSetConcurrency()) {
if (null == key.getAutoGeneratedKeys()) {
return new DefaultPooledObject<>(new PoolablePreparedStatement<>(
connection.prepareStatement(key.getSql()),
key, pstmtPool, delegatingConnection));
}
return new DefaultPooledObject<>(new PoolablePreparedStatement<>(
connection.prepareStatement(key.getSql(),
key.getAutoGeneratedKeys().intValue()),
key, pstmtPool, delegatingConnection));
}
return new DefaultPooledObject<>(new PoolablePreparedStatement<>(
connection.prepareStatement(key.getSql(),
key.getResultSetType().intValue(),
key.getResultSetConcurrency().intValue()),
key, pstmtPool, delegatingConnection));
}
示例12: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public synchronized PooledObject<PooledConnectionAndInfo> makeObject() {
PooledConnectionAndInfo pci;
try {
PooledConnection pc = null;
if (_username == null) {
pc = _cpds.getPooledConnection();
} else {
pc = _cpds.getPooledConnection(_username, _password);
}
if (pc == null) {
throw new IllegalStateException("Connection pool data source returned null from getPooledConnection");
}
// should we add this object as a listener or the pool.
// consider the validateObject method in decision
pc.addConnectionEventListener(this);
pci = new PooledConnectionAndInfo(pc, _username, _password);
pcMap.put(pc, pci);
} catch (final SQLException e) {
throw new RuntimeException(e.getMessage());
}
return new DefaultPooledObject<>(pci);
}
示例13: testValidateObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Test
public void testValidateObject() throws Exception {
when(dirContextValidatorMock
.validateDirContext(DirContextType.READ_ONLY, dirContextMock))
.thenReturn(true);
final DirContextPooledObjectFactory objectFactory = new DirContextPooledObjectFactory();
objectFactory.setDirContextValidator(dirContextValidatorMock);
PooledObject pooledObject = new DefaultPooledObject(dirContextMock);
final boolean valid = objectFactory.validateObject(DirContextType.READ_ONLY, pooledObject);
assertThat(valid).isTrue();
//Check exception in validator
DirContextValidator secondDirContextValidatorMock = mock(DirContextValidator.class);
when(secondDirContextValidatorMock.validateDirContext(DirContextType.READ_ONLY, dirContextMock))
.thenThrow(new RuntimeException("Failed to validate"));
objectFactory.setDirContextValidator(secondDirContextValidatorMock);
final boolean valid2 = objectFactory.validateObject(DirContextType.READ_ONLY, pooledObject);
assertThat(valid2).isFalse();
}
示例14: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public PooledObject<BinaryJedis> makeObject() throws Exception {
final HostAndPort hostAndPort = this.hostAndPort.get();
final Jedis jedis = new Jedis(hostAndPort.getHost(), hostAndPort.getPort(), this.timeout);
jedis.connect();
if (null != this.password) {
jedis.auth(this.password);
}
if (database != 0) {
jedis.select(database);
}
if (clientName != null) {
jedis.clientSetname(clientName);
}
return new DefaultPooledObject<BinaryJedis>(jedis);
}
示例15: makeObject
import org.apache.commons.pool2.impl.DefaultPooledObject; //導入依賴的package包/類
@Override
public PooledObject<Jedis> makeObject() throws Exception {
final HostAndPort hostAndPort = this.hostAndPort.get();
JaRedis.Builder builder = new JaRedis.Builder();
builder
.host(hostAndPort.getHost())
.port(hostAndPort.getPort())
.connectionTimeout(connectionTimeout)
.soTimeout(soTimeout);
Jedis jedis = builder.build();
try {
jedis.connect();
if (null != this.password) {
jedis.auth(this.password);
}
if (database != 0) {
jedis.select(database);
}
if (clientName != null) {
jedis.clientSetname(clientName);
}
} catch (JedisException je) {
jedis.close();
throw je;
}
return new DefaultPooledObject<>(jedis);
}