当前位置: 首页>>代码示例>>Java>>正文


Java DefaultPooledObject类代码示例

本文整理汇总了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!");
}
 
开发者ID:sylinklee,项目名称:netto_rpc,代码行数:26,代码来源:TcpConnectPool.java

示例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);
}
 
开发者ID:x7-framework,项目名称:x7,代码行数:20,代码来源:JedisFactory.java

示例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);
}
 
开发者ID:chrishantha,项目名称:microbenchmarks,代码行数:18,代码来源:CommonsPool2GenericObjectPoolBenchmark.java

示例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);

}
 
开发者ID:sohutv,项目名称:cachecloud,代码行数:26,代码来源:JedisFactory.java

示例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) {}
	}
	
	
}
 
开发者ID:nickman,项目名称:HeliosStreams,代码行数:26,代码来源:MQPCFPoolBuilder.java

示例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;
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:23,代码来源:AbstractScripting.java

示例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);
}
 
开发者ID:pengqiuyuan,项目名称:g2,代码行数:18,代码来源:JedisFactory.java

示例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);
}
 
开发者ID:nince-wyj,项目名称:jahhan,代码行数:19,代码来源:JedisFactory.java

示例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);
   }
 
开发者ID:EdwardLee03,项目名称:jedis-sr,代码行数:19,代码来源:JedisFactory.java

示例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;
    }
}
 
开发者ID:apache,项目名称:commons-pool,代码行数:21,代码来源:TestPoolUtils.java

示例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));
}
 
开发者ID:apache,项目名称:commons-dbcp,代码行数:30,代码来源:PooledConnectionImpl.java

示例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);
}
 
开发者ID:apache,项目名称:commons-dbcp,代码行数:26,代码来源:CPDSConnectionFactory.java

示例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();
}
 
开发者ID:spring-projects,项目名称:spring-ldap,代码行数:24,代码来源:DirContextPooledObjectFactoryTest.java

示例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);
}
 
开发者ID:yamingd,项目名称:argo,代码行数:19,代码来源:BinaryJedisFactory.java

示例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);
}
 
开发者ID:YanXs,项目名称:nighthawk,代码行数:28,代码来源:JaRedisFactory.java


注:本文中的org.apache.commons.pool2.impl.DefaultPooledObject类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。