code: @Override
  	protected ThriftConnection<T> getConnectionInternal(byte[] nodeID) throws ThriftConnectionPoolException {
  		if (nodeID == null) {
  			throw new NullPointerException();
  		}
  		if (this.pool.getThriftServerCount() == 0) {
  			throw new ThriftConnectionPoolException("当前没有可用的服务器  无法获取连接");
  		}
  
  		List<ThriftConnectionPartition<T>> partitions = Collections.unmodifiableList(this.pool.partitions);
  		ThriftConnectionPartition<T> thriftConnectionPartition = null;
  		for (ThriftConnectionPartition<T> tempPartition : partitions) {
  			ThriftServerInfo thriftServerInfo = tempPartition.getThriftServerInfo();
  			if (Arrays.equals(thriftServerInfo.getServerID(), nodeID)) {
  				thriftConnectionPartition = tempPartition;
  				break;
  			}
  		}
  		if (thriftConnectionPartition == null) {
  			throw new ThriftConnectionPoolException("没有找到对应服务器节点：" + Arrays.toString(nodeID));
  		}
  
  		ThriftConnection<T> result = null;
  		try {
  			result = thriftConnectionPartition.poolFreeConnection(this.pool.connectionTimeoutInMs,
  					TimeUnit.MILLISECONDS);
  			if (result == null) {
  
  				throw new ThriftConnectionPoolException("Timed out waiting for a free available connection.");
  			}
  		} catch (InterruptedException e) {
  			throw new ThriftConnectionPoolException(e);
  		}
  		return result;
  	}
docs: /*
  @see com.wmz7year.thrift.pool.AbstractThriftConnectionStrategy#
  getConnectionInternal(byte[])