类org.apache.http.conn.ConnectionRequest源码实例Demo

下面列出了怎么用org.apache.http.conn.ConnectionRequest的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
public ConnectionRequest requestConnection(HttpRoute route, Object state) {
  return new ConnectionRequest() {

    @Override
    public boolean cancel() {
      // Nothing to do.
      return false;
    }

    @Override
    public HttpClientConnection get(final long timeout, final TimeUnit timeUnit) {
      return connectionFactory.create(route, connectionConfig);
    }
  };
}
 
@Test
// @Ignore
// 2.2 IN ARTICLE
public final void whenOpeningLowLevelConnectionWithSocketTimeout_thenNoExceptions() throws InterruptedException, ExecutionException, IOException, HttpException {
    basicConnManager = new BasicHttpClientConnectionManager();
    context = HttpClientContext.create();
    final ConnectionRequest connRequest = basicConnManager.requestConnection(route, null);
    conn = connRequest.get(1000, TimeUnit.SECONDS);
    if (!conn.isOpen()) {
        basicConnManager.connect(conn, route, 1000, context);
    }
    conn.setSocketTimeout(30000);

    assertTrue(conn.getSocketTimeout() == 30000);
    assertTrue(conn.isOpen());
}
 
/**
 * Returns a wrapped instance of {@link ConnectionRequest}
 * to capture the necessary performance metrics.
 *
 * @param orig the target instance to be wrapped
 */
static ConnectionRequest wrap(ConnectionRequest orig) {
    if (orig instanceof Wrapped) {
        throw new IllegalArgumentException();
    }
    return (ConnectionRequest) Proxy.newProxyInstance(
            // https://github.com/aws/aws-sdk-java/pull/48#issuecomment-29454423
            ClientConnectionRequestFactory.class.getClassLoader(),
            INTERFACES,
            new Handler(orig));
}
 
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    try {
        Object ret = method.invoke(orig, args);
        return ret instanceof ConnectionRequest
                ? ClientConnectionRequestFactory.wrap((ConnectionRequest) ret)
                : ret
                ;
    } catch (InvocationTargetException e) {
        log.debug("", e);
        throw e.getCause();
    }
}
 
/**
 * Returns a wrapped instance of {@link ConnectionRequest}
 * to capture the necessary performance metrics.
 * @param orig the target instance to be wrapped
 */
static ConnectionRequest wrap(ConnectionRequest orig) {
    if (orig instanceof Wrapped)
        throw new IllegalArgumentException();
    return (ConnectionRequest) Proxy.newProxyInstance(
            // https://github.com/aws/aws-sdk-java/pull/48#issuecomment-29454423
            ClientConnectionRequestFactory.class.getClassLoader(),
            interfaces,
            new Handler(orig));
}
 
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    try {
        Object ret = method.invoke(orig, args);
        return ret instanceof ConnectionRequest
                ? ClientConnectionRequestFactory.wrap((ConnectionRequest) ret)
                : ret
                ;
    } catch (InvocationTargetException e) {
        log.debug("", e);
        throw e.getCause();
    }
}
 
源代码7 项目: incubator-gobblin   文件: AbstractHttpWriter.java
@Override
public ConnectionRequest requestConnection(HttpRoute route, Object state) {
  try {
    onConnect(new URI(route.getTargetHost().toURI()));
  } catch (IOException | URISyntaxException e) {
    throw new RuntimeException("onConnect() callback failure: " + e, e);
  }
  return super.requestConnection(route, state);
}
 
@Test
// 2.1 IN ARTCLE
public final void whenLowLevelConnectionIsEstablished_thenNoExceptions() throws IOException, HttpException, InterruptedException, ExecutionException {
    basicConnManager = new BasicHttpClientConnectionManager();
    final ConnectionRequest connRequest = basicConnManager.requestConnection(route, null);
    assertTrue(connRequest.get(1000, TimeUnit.SECONDS) != null);
}
 
Handler(ConnectionRequest orig) {
    this.orig = orig;
}
 
@Override
public ConnectionRequest requestConnection(HttpRoute route,
                                           Object state) {
    return null;
}
 
Handler(ConnectionRequest orig) {
    this.orig = orig;
}
 
@Override
public ConnectionRequest requestConnection(HttpRoute route, Object state) {
    return null;
}
 
@Override
public ConnectionRequest requestConnection(HttpRoute route,
                                           Object state) {
    return null;
}
 
@Test
public void wrapOnce() {
    ConnectionRequest wrapped = ClientConnectionRequestFactory
            .wrap(noop);
    assertTrue(wrapped instanceof Wrapped);
}
 
@Test(expected = IllegalArgumentException.class)
public void wrapTwice() {
    ConnectionRequest wrapped = ClientConnectionRequestFactory.wrap(noop);
    ClientConnectionRequestFactory.wrap(wrapped);
}
 
源代码16 项目: lucene-solr   文件: ConnectionReuseTest.java
public HttpClientConnection getConn(ConnectionRequest mConn)
    throws InterruptedException, ConnectionPoolTimeoutException, ExecutionException {
  HttpClientConnection conn = mConn.get(30, TimeUnit.SECONDS);

  return conn;
}
 
源代码17 项目: lucene-solr   文件: ConnectionReuseTest.java
public ConnectionRequest getClientConnectionRequest(HttpClient httpClient, HttpRoute route, PoolingHttpClientConnectionManager cm) {
  ConnectionRequest mConn = cm.requestConnection(route, HttpSolrClient.cacheKey);
  return mConn;
}
 
@Override
public ConnectionRequest requestConnection(HttpRoute route, Object state) {
  return this.fallbackConnManager.requestConnection(route, state);
}
 
 类所在包
 类方法
 同包方法