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


Java PlainConnectionSocketFactory.getSocketFactory方法代码示例

本文整理汇总了Java中org.apache.http.conn.socket.PlainConnectionSocketFactory.getSocketFactory方法的典型用法代码示例。如果您正苦于以下问题:Java PlainConnectionSocketFactory.getSocketFactory方法的具体用法?Java PlainConnectionSocketFactory.getSocketFactory怎么用?Java PlainConnectionSocketFactory.getSocketFactory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.http.conn.socket.PlainConnectionSocketFactory的用法示例。


在下文中一共展示了PlainConnectionSocketFactory.getSocketFactory方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createHttpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
private CloseableHttpClient createHttpClient(String hostname, int port) {
    ConnectionSocketFactory plainsf = PlainConnectionSocketFactory.getSocketFactory();
    LayeredConnectionSocketFactory sslsf = SSLConnectionSocketFactory.getSocketFactory();
    Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory> create()
            .register("http", plainsf).register("https", sslsf).build();
    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(registry);
    // 将最大连接数增加
    cm.setMaxTotal(maxTotal);
    // 将每个路由基础的连接增加
    cm.setDefaultMaxPerRoute(maxPerRoute);
    HttpHost httpHost = new HttpHost(hostname, port);
    // 将目标主机的最大连接数增加
    cm.setMaxPerRoute(new HttpRoute(httpHost), maxRoute);
    // 请求重试处理
    return HttpClients.custom().setConnectionManager(cm).setRetryHandler(httpRequestRetryHandler).build();
}
 
开发者ID:adealjason,项目名称:dtsopensource,代码行数:17,代码来源:HttpProtocolParent.java

示例2: createHttpClientConnectionManager

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
/**
 * Create connection manager for http client.
 *
 * @return The connection manager for http client.
 */
private HttpClientConnectionManager createHttpClientConnectionManager() {
    ConnectionSocketFactory socketFactory = PlainConnectionSocketFactory.getSocketFactory();
    LayeredConnectionSocketFactory sslSocketFactory;
    try {
        sslSocketFactory = new SSLConnectionSocketFactory(SSLContext.getDefault(),
                SSLConnectionSocketFactory.STRICT_HOSTNAME_VERIFIER);
    } catch (NoSuchAlgorithmException e) {
        throw new BceClientException("Fail to create SSLConnectionSocketFactory", e);
    }
    Registry<ConnectionSocketFactory> registry =
            RegistryBuilder.<ConnectionSocketFactory>create().register(Protocol.HTTP.toString(), socketFactory)
                    .register(Protocol.HTTPS.toString(), sslSocketFactory).build();
    PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(registry);
    connectionManager.setDefaultMaxPerRoute(this.config.getMaxConnections());
    connectionManager
            .setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(this.config.getSocketTimeoutInMillis())
                    .setTcpNoDelay(true).build());
    connectionManager.setMaxTotal(this.config.getMaxConnections());
    return connectionManager;
}
 
开发者ID:baidubce,项目名称:bce-sdk-java,代码行数:26,代码来源:BceHttpClient.java

示例3: buildHttpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
/**
 * Build a HTTP client based on the current properties.
 *
 * @return the built HTTP client
 */
private CloseableHttpClient buildHttpClient() {
    try {

        final ConnectionSocketFactory plainsf = PlainConnectionSocketFactory.getSocketFactory();
        final LayeredConnectionSocketFactory sslsf = this.sslSocketFactory;

        final Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
                .register("http", plainsf)
                .register("https", sslsf)
                .build();

        final PoolingHttpClientConnectionManager connMgmr = new PoolingHttpClientConnectionManager(registry);
        connMgmr.setMaxTotal(this.maxPooledConnections);
        connMgmr.setDefaultMaxPerRoute(this.maxConnectionsPerRoute);
        connMgmr.setValidateAfterInactivity(DEFAULT_TIMEOUT);

        final HttpHost httpHost = new HttpHost(InetAddress.getLocalHost());
        final HttpRoute httpRoute = new HttpRoute(httpHost);
        connMgmr.setMaxPerRoute(httpRoute, MAX_CONNECTIONS_PER_ROUTE);

        final RequestConfig requestConfig = RequestConfig.custom()
                .setSocketTimeout(this.readTimeout)
                .setConnectTimeout(this.connectionTimeout)
                .setConnectionRequestTimeout(this.connectionTimeout)
                .setCircularRedirectsAllowed(this.circularRedirectsAllowed)
                .setRedirectsEnabled(this.redirectsEnabled)
                .setAuthenticationEnabled(this.authenticationEnabled)
                .build();


        final HttpClientBuilder builder = HttpClients.custom()
                .setConnectionManager(connMgmr)
                .setDefaultRequestConfig(requestConfig)
                .setSSLSocketFactory(sslsf)
                .setSSLHostnameVerifier(this.hostnameVerifier)
                .setRedirectStrategy(this.redirectionStrategy)
                .setDefaultCredentialsProvider(this.credentialsProvider)
                .setDefaultCookieStore(this.cookieStore)
                .setConnectionReuseStrategy(this.connectionReuseStrategy)
                .setConnectionBackoffStrategy(this.connectionBackoffStrategy)
                .setServiceUnavailableRetryStrategy(this.serviceUnavailableRetryStrategy)
                .setProxyAuthenticationStrategy(this.proxyAuthenticationStrategy)
                .setDefaultHeaders(this.defaultHeaders)
                .useSystemProperties();

        return builder.build();

    } catch (final Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw new RuntimeException(e);
    }
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:58,代码来源:SimpleHttpClientFactoryBean.java

示例4: buildHttpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
/**
 * Build a HTTP client based on the current properties.
 *
 * @return the built HTTP client
 */
private CloseableHttpClient buildHttpClient() {
    try {

        final ConnectionSocketFactory plainsf = PlainConnectionSocketFactory.getSocketFactory();
        final LayeredConnectionSocketFactory sslsf = this.sslSocketFactory;

        final Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
                .register("http", plainsf)
                .register("https", sslsf)
                .build();

        final PoolingHttpClientConnectionManager connMgmr = new PoolingHttpClientConnectionManager(registry);
        connMgmr.setMaxTotal(this.maxPooledConnections);
        connMgmr.setDefaultMaxPerRoute(this.maxConnectionsPerRoute);
        connMgmr.setValidateAfterInactivity(DEFAULT_TIMEOUT);

        final HttpHost httpHost = new HttpHost(InetAddress.getLocalHost());
        final HttpRoute httpRoute = new HttpRoute(httpHost);
        connMgmr.setMaxPerRoute(httpRoute, MAX_CONNECTIONS_PER_ROUTE);

        final RequestConfig requestConfig = RequestConfig.custom()
                .setSocketTimeout(this.readTimeout)
                .setConnectTimeout(Long.valueOf(this.connectionTimeout).intValue())
                .setConnectionRequestTimeout(Long.valueOf(this.connectionTimeout).intValue())
                .setCircularRedirectsAllowed(this.circularRedirectsAllowed)
                .setRedirectsEnabled(this.redirectsEnabled)
                .setAuthenticationEnabled(this.authenticationEnabled)
                .build();


        final HttpClientBuilder builder = HttpClients.custom()
                .setConnectionManager(connMgmr)
                .setDefaultRequestConfig(requestConfig)
                .setSSLSocketFactory(sslsf)
                .setSSLHostnameVerifier(this.hostnameVerifier)
                .setRedirectStrategy(this.redirectionStrategy)
                .setDefaultCredentialsProvider(this.credentialsProvider)
                .setDefaultCookieStore(this.cookieStore)
                .setConnectionReuseStrategy(this.connectionReuseStrategy)
                .setConnectionBackoffStrategy(this.connectionBackoffStrategy)
                .setServiceUnavailableRetryStrategy(this.serviceUnavailableRetryStrategy)
                .setProxyAuthenticationStrategy(this.proxyAuthenticationStrategy)
                .setDefaultHeaders(this.defaultHeaders)
                .useSystemProperties();

        return builder.build();

    } catch (final Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw Throwables.propagate(e);
    }
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:58,代码来源:SimpleHttpClientFactoryBean.java

示例5: createHttpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
private static CloseableHttpClient createHttpClient(int maxTotal, int maxPerRoute, int maxRoute, String hostname, int port) {
    ConnectionSocketFactory plainsf = PlainConnectionSocketFactory
            .getSocketFactory();
    LayeredConnectionSocketFactory sslsf = SSLConnectionSocketFactory
            .getSocketFactory();
    Registry<ConnectionSocketFactory> registry = RegistryBuilder
            .<ConnectionSocketFactory>create()
            .register("http", plainsf)
            .register("https", sslsf)
            .build();

    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(
            registry);

    // 将最大连接数增加
    cm.setMaxTotal(maxTotal);
    // 将每个路由基础的连接增加
    cm.setDefaultMaxPerRoute(maxPerRoute);

    // 将目标主机的最大连接数增加
    HttpHost httpHost = new HttpHost(hostname, port);
    cm.setMaxPerRoute(new HttpRoute(httpHost), maxRoute);

    // 请求重试处理
    HttpRequestRetryHandler httpRequestRetryHandler = (exception, executionCount, context) -> {
        if (executionCount >= 5) {// 如果已经重试了5次,就放弃
            return false;
        }
        if (exception instanceof NoHttpResponseException) {// 如果服务器丢掉了连接,那么就重试
            return true;
        }
        if (exception instanceof SSLHandshakeException) {// 不要重试SSL握手异常
            return false;
        }
        if (exception instanceof InterruptedIOException) {// 超时
            return false;
        }
        if (exception instanceof UnknownHostException) {// 目标服务器不可达
            return false;
        }
        if (exception instanceof ConnectTimeoutException) {// 连接被拒绝
            return false;
        }
        if (exception instanceof SSLException) {// SSL握手异常
            return false;
        }

        HttpClientContext clientContext = HttpClientContext.adapt(context);
        HttpRequest request = clientContext.getRequest();
        // 如果请求是幂等的,就再次尝试
        if (!(request instanceof HttpEntityEnclosingRequest)) {
            return true;
        }
        return false;
    };

    CloseableHttpClient httpClient = HttpClients.custom()
            .setConnectionManager(cm)
            .setRetryHandler(httpRequestRetryHandler)
            .build();

    return httpClient;
}
 
开发者ID:Evan1120,项目名称:wechat-api-java,代码行数:64,代码来源:HttpRequestUtil.java

示例6: createHttpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
public static CloseableHttpClient createHttpClient() {
    ConnectionSocketFactory plainsf = PlainConnectionSocketFactory.getSocketFactory();
    ConnectionSocketFactory sslsf = new EasySSLConnectionSocketFactory();
    //SSLConnectionSocketFactory.getSocketFactory();
    Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
            .register("http", plainsf)
            .register("https", sslsf)
            .build();
    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(registry);
    // 将最大连接数增加到200
    cm.setMaxTotal(200);
    // 将每个路由基础的连接增加到20
    cm.setDefaultMaxPerRoute(20);
    //请求重试处理
    HttpRequestRetryHandler httpRequestRetryHandler = new HttpRequestRetryHandler() {
        public boolean retryRequest(IOException exception, int executionCount, HttpContext context) {
            if (executionCount >= 5) {// 如果已经重试了5次,就放弃
                return false;
            }
            if (exception instanceof NoHttpResponseException) {// 如果服务器丢掉了连接,那么就重试
                return true;
            }
            if (exception instanceof SSLHandshakeException) {// 不要重试SSL握手异常
                return false;
            }
            if (exception instanceof InterruptedIOException) {// 超时
                return false;
            }
            if (exception instanceof UnknownHostException) {// 目标服务器不可达
                return false;
            }
            if (exception instanceof ConnectTimeoutException) {// 连接被拒绝
                return false;
            }
            if (exception instanceof SSLException) {// ssl握手异常
                return false;
            }

            HttpClientContext clientContext = HttpClientContext.adapt(context);
            HttpRequest request = clientContext.getRequest();
            // 如果请求是幂等的,就再次尝试
            if (!(request instanceof HttpEntityEnclosingRequest)) {
                return true;
            }
            return false;
        }
    };
    CloseableHttpClient httpClient =  HttpClients.custom()
            .setConnectionManager(cm)
            .setRetryHandler(httpRequestRetryHandler)
            .build();
    return httpClient;

}
 
开发者ID:1991wangliang,项目名称:lorne_core,代码行数:55,代码来源:HttpClientFactory.java

示例7: createHttpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
public CloseableHttpClient createHttpClient(int maxTotal, int maxPerRoute, int maxRoute,
                                                   String hostname, int port) {
    ConnectionSocketFactory plainsf = PlainConnectionSocketFactory
            .getSocketFactory();
    LayeredConnectionSocketFactory sslsf = SSLConnectionSocketFactory
            .getSocketFactory();
    Registry<ConnectionSocketFactory> registry = RegistryBuilder
            .<ConnectionSocketFactory> create().register("http", plainsf)
            .register("https", sslsf).build();
    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(
            registry);
    // 将最大连接数增加
    cm.setMaxTotal(maxTotal);
    // 将每个路由基础的连接增加
    cm.setDefaultMaxPerRoute(maxPerRoute);
    HttpHost httpHost = new HttpHost(hostname, port);
    // 将目标主机的最大连接数增加
    cm.setMaxPerRoute(new HttpRoute(httpHost), maxRoute);

    // 请求重试处理
    HttpRequestRetryHandler httpRequestRetryHandler = new HttpRequestRetryHandler() {
        public boolean retryRequest(IOException exception,
                                    int executionCount, HttpContext context) {
            if (executionCount >= _maxRetryTimes) {
                return false;
            }
            if (exception instanceof NoHttpResponseException) {// 如果服务器丢掉了连接,那么就重试
                return true;
            }
            if (exception instanceof SSLHandshakeException) {// 不要重试SSL握手异常
                return false;
            }
            if (exception instanceof InterruptedIOException) {// 超时
                return false;
            }
            if (exception instanceof UnknownHostException) {// 目标服务器不可达
                return false;
            }
            if (exception instanceof ConnectTimeoutException) {// 连接被拒绝
                return false;
            }
            if (exception instanceof SSLException) {// SSL握手异常
                return false;
            }

            HttpClientContext clientContext = HttpClientContext
                    .adapt(context);
            HttpRequest request = clientContext.getRequest();
            // 如果请求是幂等的,就再次尝试
            if (!(request instanceof HttpEntityEnclosingRequest)) {
                return true;
            }
            return false;
        }
    };

    CloseableHttpClient httpClient = HttpClients.custom()
            .setConnectionManager(cm)
            .setRetryHandler(httpRequestRetryHandler).build();

    return httpClient;

}
 
开发者ID:jpush,项目名称:jiguang-java-client-common,代码行数:64,代码来源:ApacheHttpClient.java

示例8: httpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
@Bean
public HttpClient httpClient() {
	LOG.info("Using development (trust-self-signed) http client");

	try {
		ConnectionSocketFactory plainsf = PlainConnectionSocketFactory.getSocketFactory();
		SSLContext sslContext = SSLContexts.custom()
				.loadTrustMaterial(null, new TrustSelfSignedStrategy())
				.build();
		LayeredConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
		Registry<ConnectionSocketFactory> r = RegistryBuilder.<ConnectionSocketFactory>create()
		        .register("http", plainsf)
		        .register("https", sslsf)
		        .build();

		HttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(r);

		RequestConfig requestConfig = RequestConfig
				.custom()
				.setSocketTimeout(30000)
				.setConnectTimeout(30000)
				.setTargetPreferredAuthSchemes(ImmutableList.of(AuthSchemes.BASIC))
				.setProxyPreferredAuthSchemes(ImmutableList.of(AuthSchemes.BASIC)).build();

		CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
		credentialsProvider.setCredentials(AuthScope.ANY, getUsernamePasswordCredentials());
		
		
		return HttpClients.custom().setConnectionManager(cm)
				.setDefaultCredentialsProvider(credentialsProvider)
				.setDefaultRequestConfig(requestConfig).build();
	} catch (Exception e) {
		throw new RuntimeException("Cannot build HttpClient using self signed certificate", e);
	}
}
 
开发者ID:cloudfoundry-incubator,项目名称:apache-brooklyn-service-broker,代码行数:36,代码来源:HttpClientConfig.java

示例9: createHttpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
public void createHttpClient()
{
  PlainConnectionSocketFactory sf = PlainConnectionSocketFactory.getSocketFactory();
  SSLContext sslContext = SSLContexts.createSystemDefault();
  SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
    sslContext, 
    NoopHostnameVerifier.INSTANCE);
  
  Registry<ConnectionSocketFactory> r = RegistryBuilder.<ConnectionSocketFactory>create()
          .register("http", sf)
          .register("https", sslsf)
          .build();
  
  this.cm = new PoolingHttpClientConnectionManager(r);
}
 
开发者ID:ot4i,项目名称:splunk-log-connector,代码行数:16,代码来源:SplunkHttpConnection.java

示例10: createHttpClientInfo

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
public HttpClientInfo createHttpClientInfo() {
	
	SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslctx,new AllowAllHostnameVerifier());
	PlainConnectionSocketFactory sf = PlainConnectionSocketFactory.getSocketFactory();
	Registry<ConnectionSocketFactory> r = RegistryBuilder.<ConnectionSocketFactory>create()
	        .register("http", sf)
	        .register("https", sslsf)
	        .build();
	
	RequestConfig globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.BROWSER_COMPATIBILITY).setRedirectsEnabled(true).build();
	
	PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(r);
	
	return new HttpClientInfo(cm,globalConfig);
}
 
开发者ID:TremoloSecurityRetired,项目名称:Scale,代码行数:16,代码来源:ScaleCommonConfig.java

示例11: getConnectionManager

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
public static HttpClientConnectionManager getConnectionManager() {

        // ConnectionSocketFactory plainsf = null;
        LayeredConnectionSocketFactory sslsf = null;

        RegistryBuilder<ConnectionSocketFactory> registryBuilder = RegistryBuilder.create();

        PlainConnectionSocketFactory plainsf = PlainConnectionSocketFactory.getSocketFactory();
        registryBuilder.register("http", plainsf);

        try {

            // Trust own CA and all self-signed certs
            SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(new TrustStrategy() {
                @Override
                public boolean isTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                    return true;
                }
            }).build();

            HostnameVerifier allowAllHostnameVerifier = NoopHostnameVerifier.INSTANCE;
            sslsf = new SSLConnectionSocketFactory(sslcontext, allowAllHostnameVerifier);

            registryBuilder.register("https", sslsf);

        } catch (Throwable e) {

            logger.error("https ssl init failed", e);
        }

        Registry<ConnectionSocketFactory> r = registryBuilder.build();

        PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(r);
        connManager.setMaxTotal(100);// 连接池最大并发连接数
        connManager.setDefaultMaxPerRoute(100);// 单路由最大并发数
        return connManager;

    }
 
开发者ID:jiucai,项目名称:appframework,代码行数:40,代码来源:HttpClientUtil.java

示例12: buildHttpClient

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
/**
 * Build a HTTP client based on the current properties.
 *
 * @return the built HTTP client
 */
private CloseableHttpClient buildHttpClient() {
    try {

        final ConnectionSocketFactory plainsf = PlainConnectionSocketFactory.getSocketFactory();
        final LayeredConnectionSocketFactory sslsf = this.sslSocketFactory;

        final Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
                .register("http", plainsf)
                .register("https", sslsf)
                .build();

        final PoolingHttpClientConnectionManager connMgmr = new PoolingHttpClientConnectionManager(registry);
        connMgmr.setMaxTotal(this.maxPooledConnections);
        connMgmr.setDefaultMaxPerRoute(this.maxConnectionsPerRoute);

        final HttpHost httpHost = new HttpHost(InetAddress.getLocalHost());
        final HttpRoute httpRoute = new HttpRoute(httpHost);
        connMgmr.setMaxPerRoute(httpRoute, MAX_CONNECTIONS_PER_ROUTE);

        final RequestConfig requestConfig = RequestConfig.custom()
                .setSocketTimeout(this.readTimeout)
                .setConnectTimeout(this.connectionTimeout)
                .setConnectionRequestTimeout(this.connectionTimeout)
                .setStaleConnectionCheckEnabled(true)
                .setCircularRedirectsAllowed(this.circularRedirectsAllowed)
                .setRedirectsEnabled(this.redirectsEnabled)
                .setAuthenticationEnabled(this.authenticationEnabled)
                .build();


        final HttpClientBuilder builder = HttpClients.custom()
                .setConnectionManager(connMgmr)
                .setDefaultRequestConfig(requestConfig)
                .setSSLSocketFactory(sslsf)
                .setSSLHostnameVerifier(this.hostnameVerifier)
                .setRedirectStrategy(this.redirectionStrategy)
                .setDefaultCredentialsProvider(this.credentialsProvider)
                .setDefaultCookieStore(this.cookieStore)
                .setConnectionReuseStrategy(this.connectionReuseStrategy)
                .setConnectionBackoffStrategy(this.connectionBackoffStrategy)
                .setServiceUnavailableRetryStrategy(this.serviceUnavailableRetryStrategy)
                .setProxyAuthenticationStrategy(this.proxyAuthenticationStrategy)
                .setDefaultHeaders(this.defaultHeaders)
                .useSystemProperties();

        return builder.build();

    } catch (final Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw new RuntimeException(e);
    }
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:58,代码来源:SimpleHttpClientFactoryBean.java

示例13: testAbortDuringConnecting

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
@Test
public void testAbortDuringConnecting() throws Exception {
    final CountDownLatch connectLatch = new CountDownLatch(1);
    final StallingSocketFactory stallingSocketFactory = new StallingSocketFactory(
            connectLatch, WaitPolicy.BEFORE_CONNECT, PlainConnectionSocketFactory.getSocketFactory());
    final Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
        .register("http", stallingSocketFactory)
        .build();

    this.connManager = new PoolingHttpClientConnectionManager(registry);
    this.clientBuilder.setConnectionManager(this.connManager);

    this.connManager.setMaxTotal(1);

    final HttpHost target = start();
    final HttpRoute route = new HttpRoute(target, null, false);
    final HttpContext context = new BasicHttpContext();

    final HttpClientConnection conn = getConnection(this.connManager, route);

    final AtomicReference<Throwable> throwRef = new AtomicReference<Throwable>();
    final Thread abortingThread = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                stallingSocketFactory.waitForState();
                conn.shutdown();
                connManager.releaseConnection(conn, null, -1, null);
                connectLatch.countDown();
            } catch (final Throwable e) {
                throwRef.set(e);
            }
        }
    });
    abortingThread.start();

    try {
        this.connManager.connect(conn, route, 0, context);
        this.connManager.routeComplete(conn, route, context);
        Assert.fail("expected SocketException");
    } catch(final SocketException expected) {}

    abortingThread.join(5000);
    if(throwRef.get() != null) {
        throw new RuntimeException(throwRef.get());
    }

    Assert.assertFalse(conn.isOpen());

    // the connection is expected to be released back to the manager
    final HttpClientConnection conn2 = getConnection(this.connManager, route, 5L, TimeUnit.SECONDS);
    Assert.assertFalse("connection should have been closed", conn2.isOpen());

    this.connManager.releaseConnection(conn2, null, -1, null);
    this.connManager.shutdown();
}
 
开发者ID:MyPureCloud,项目名称:purecloud-iot,代码行数:57,代码来源:TestConnectionManagement.java

示例14: testAbortBeforeSocketCreate

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
@Test
public void testAbortBeforeSocketCreate() throws Exception {
    final CountDownLatch connectLatch = new CountDownLatch(1);
    final StallingSocketFactory stallingSocketFactory = new StallingSocketFactory(
            connectLatch, WaitPolicy.BEFORE_CREATE, PlainConnectionSocketFactory.getSocketFactory());
    final Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
        .register("http", stallingSocketFactory)
        .build();

    this.connManager = new PoolingHttpClientConnectionManager(registry);
    this.clientBuilder.setConnectionManager(this.connManager);

    this.connManager.setMaxTotal(1);

    final HttpHost target = start();
    final HttpRoute route = new HttpRoute(target, null, false);
    final HttpContext context = new BasicHttpContext();

    final HttpClientConnection conn = getConnection(this.connManager, route);

    final AtomicReference<Throwable> throwRef = new AtomicReference<Throwable>();
    final Thread abortingThread = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                stallingSocketFactory.waitForState();
                conn.shutdown();
                connManager.releaseConnection(conn, null, -1, null);
                connectLatch.countDown();
            } catch (final Throwable e) {
                throwRef.set(e);
            }
        }
    });
    abortingThread.start();

    try {
        this.connManager.connect(conn, route, 0, context);
        this.connManager.routeComplete(conn, route, context);
        Assert.fail("IOException expected");
    } catch(final IOException expected) {
    }

    abortingThread.join(5000);
    if(throwRef.get() != null) {
        throw new RuntimeException(throwRef.get());
    }

    Assert.assertFalse(conn.isOpen());

    // the connection is expected to be released back to the manager
    final HttpClientConnection conn2 = getConnection(this.connManager, route, 5L, TimeUnit.SECONDS);
    Assert.assertFalse("connection should have been closed", conn2.isOpen());

    this.connManager.releaseConnection(conn2, null, -1, null);
    this.connManager.shutdown();
}
 
开发者ID:MyPureCloud,项目名称:purecloud-iot,代码行数:58,代码来源:TestConnectionManagement.java

示例15: testAbortAfterSocketConnect

import org.apache.http.conn.socket.PlainConnectionSocketFactory; //导入方法依赖的package包/类
@Test
public void testAbortAfterSocketConnect() throws Exception {
    final CountDownLatch connectLatch = new CountDownLatch(1);
    final StallingSocketFactory stallingSocketFactory = new StallingSocketFactory(
            connectLatch, WaitPolicy.AFTER_CONNECT, PlainConnectionSocketFactory.getSocketFactory());
    final Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
        .register("http", stallingSocketFactory)
        .build();

    this.connManager = new PoolingHttpClientConnectionManager(registry);
    this.clientBuilder.setConnectionManager(this.connManager);

    this.connManager.setMaxTotal(1);

    final HttpHost target = start();
    final HttpRoute route = new HttpRoute(target, null, false);
    final HttpContext context = new BasicHttpContext();

    final HttpClientConnection conn = getConnection(this.connManager, route);

    final AtomicReference<Throwable> throwRef = new AtomicReference<Throwable>();
    final Thread abortingThread = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                stallingSocketFactory.waitForState();
                conn.shutdown();
                connManager.releaseConnection(conn, null, -1, null);
                connectLatch.countDown();
            } catch (final Throwable e) {
                throwRef.set(e);
            }
        }
    });
    abortingThread.start();

    try {
        this.connManager.connect(conn, route, 0, context);
        this.connManager.routeComplete(conn, route, context);
        Assert.fail("IOException expected");
    } catch(final IOException expected) {
    }

    abortingThread.join(5000);
    if(throwRef.get() != null) {
        throw new RuntimeException(throwRef.get());
    }

    Assert.assertFalse(conn.isOpen());

    // the connection is expected to be released back to the manager
    final HttpClientConnection conn2 = getConnection(this.connManager, route, 5L, TimeUnit.SECONDS);
    Assert.assertFalse("connection should have been closed", conn2.isOpen());

    this.connManager.releaseConnection(conn2, null, -1, null);
    this.connManager.shutdown();
}
 
开发者ID:MyPureCloud,项目名称:purecloud-iot,代码行数:58,代码来源:TestConnectionManagement.java


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