Java 类org.apache.http.config.SocketConfig 实例源码
项目:framework
文件:HttpClientUtil.java
@PostConstruct
public void afterPropertiesSet() throws Exception {
RegistryBuilder<ConnectionSocketFactory> schemeRegistry = RegistryBuilder.create();
schemeRegistry.register("http", PlainConnectionSocketFactory.getSocketFactory());
SSLContext sslcontext = SSLContext.getInstance("TLS");
sslcontext.init(new KeyManager[0], new TrustManager[]{new SimpleTrustManager()}, null);
SSLConnectionSocketFactory sf = new SSLConnectionSocketFactory(sslcontext);
schemeRegistry.register("https", sf);
pool = new PoolingHttpClientConnectionManager(schemeRegistry.build());
pool.setMaxTotal(maxConnection);
pool.setDefaultMaxPerRoute(maxConnection);
pool.setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(sotimeout).build());
}
项目:openssp
文件:DefaultConnector.java
/**
*
*/
public DefaultConnector() {
final PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
cm.closeIdleConnections(120, TimeUnit.SECONDS);
// would be nice to set this from outside -> keep alive
final SocketConfig sConfig = SocketConfig.custom().setSoKeepAlive(true).setSoTimeout(Context.SOCKET_TO).build();
cm.setDefaultSocketConfig(sConfig);
cm.setMaxTotal(150);
cm.setDefaultMaxPerRoute(150);
cm.setValidateAfterInactivity(0);
final HttpRequestRetryHandler rh = new DefaultHttpRequestRetryHandler(3, true);
httpClient = HttpClients.custom().setRetryHandler(rh).setConnectionManager(cm).build();
}
项目:mxhsd
文件:HttpFederationClient.java
public HttpFederationClient(HomeserverState global, FederationDomainResolver resolver) {
this.global = global;
this.resolver = resolver;
try {
SocketConfig sockConf = SocketConfig.custom().setSoTimeout(30000).build();
// FIXME properly handle SSL context by validating certificate hostname
SSLContext sslContext = SSLContextBuilder.create().loadTrustMaterial(new TrustAllStrategy()).build();
HostnameVerifier hostnameVerifier = new NoopHostnameVerifier();
SSLConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(sslContext, hostnameVerifier);
this.client = HttpClientBuilder.create()
.disableAuthCaching()
.disableAutomaticRetries()
.disableCookieManagement()
.disableRedirectHandling()
.setDefaultSocketConfig(sockConf)
.setSSLSocketFactory(sslSocketFactory)
.setUserAgent(global.getAppName() + "/" + global.getAppVersion())
.build();
} catch (KeyStoreException | NoSuchAlgorithmException | KeyManagementException e) {
throw new RuntimeException(e);
}
}
项目:vscrawler
文件:DefaultHttpClientGenerator.java
@Override
public CrawlerHttpClient gen(CrawlerHttpClientBuilder proxyFeedBackDecorateHttpClientBuilder) {
SocketConfig socketConfig = SocketConfig.custom().setSoKeepAlive(true).setSoLinger(-1).setSoReuseAddress(false)
.setSoTimeout(ProxyConstant.SOCKETSO_TIMEOUT).setTcpNoDelay(true).build();
return proxyFeedBackDecorateHttpClientBuilder
.setDefaultSocketConfig(socketConfig)
// .setSSLSocketFactory(sslConnectionSocketFactory)
// dungproxy0.0.6之后的版本,默认忽略https证书检查
.setRedirectStrategy(new LaxRedirectStrategy())
//注意,这里使用ua生产算法自动产生ua,如果是mobile,可以使用
// com.virjar.vscrawler.core.net.useragent.UserAgentBuilder.randomAppUserAgent()
.setUserAgent(UserAgentBuilder.randomUserAgent())
//对于爬虫来说,连接池没啥卵用,直接禁止掉(因为我们可能创建大量HttpClient,每个HttpClient一个连接池,会把系统socket资源撑爆)
//测试开80个httpClient抓数据大概一个小时系统就会宕机
.setConnectionReuseStrategy(NoConnectionReuseStrategy.INSTANCE)
.build();
}
项目:mycore
文件:MCRHttpUtils.java
public static CloseableHttpClient getHttpClient(HttpClientConnectionManager connectionManager, int maxConnections) {
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30000).setSocketTimeout(30000).build();
ConnectionConfig connectionConfig = ConnectionConfig.custom().setCharset(Charset.forName("UTF-8")).build();
SocketConfig socketConfig = SocketConfig.custom().setTcpNoDelay(true).setSoKeepAlive(true)
.setSoReuseAddress(true).build();
String userAgent = MessageFormat
.format("MyCoRe/{0} ({1}; java {2})", MCRCoreVersion.getCompleteVersion(), MCRConfiguration.instance()
.getString("MCR.NameOfProject", "undefined"), System.getProperty("java.version"));
//setup http client
return HttpClients.custom().setConnectionManager(connectionManager)
.setUserAgent(userAgent).setRetryHandler(new MCRRetryHandler(maxConnections))
.setDefaultRequestConfig(requestConfig).setDefaultConnectionConfig(connectionConfig)
.setDefaultSocketConfig(socketConfig).build();
}
项目:MassiveDelete
文件:HttpRestClient.java
public HttpRestClient(String user, String password) {
SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(DEFAULT_SOCKET_TIMEOUT * 1000).build();
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(DEFAULT_REQUEST_TIMEOUT * 1000)
.setSocketTimeout(DEFAULT_SOCKET_TIMEOUT * 1000)
.setConnectionRequestTimeout(DEFAULT_REQUEST_TIMEOUT * 1000).build();
httpConnectionManager.setMaxTotal(DEFAULT_CONN_NUM);
httpConnectionManager.setDefaultMaxPerRoute(DEFAULT_CONN_NUM);
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(new AuthScope(AuthScope.ANY), new UsernamePasswordCredentials(user, password));
client = HttpClients.custom().setConnectionManager(httpConnectionManager)
.setDefaultRequestConfig(requestConfig)
.setDefaultSocketConfig(socketConfig)
.setDefaultCredentialsProvider(credsProvider).build();
}
项目:x-pipe
文件:RestTemplateFactory.java
public static RestOperations createCommonsHttpRestTemplate(int maxConnPerRoute, int maxConnTotal,
int connectTimeout, int soTimeout, int retryTimes, RetryPolicyFactory retryPolicyFactory) {
HttpClient httpClient = HttpClientBuilder.create()
.setMaxConnPerRoute(maxConnPerRoute)
.setMaxConnTotal(maxConnTotal)
.setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(soTimeout).build())
.setDefaultRequestConfig(RequestConfig.custom().setConnectTimeout(connectTimeout).build())
.build();
ClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
RestTemplate restTemplate = new RestTemplate(factory);
//set jackson mapper
for (HttpMessageConverter<?> hmc : restTemplate.getMessageConverters()) {
if (hmc instanceof MappingJackson2HttpMessageConverter) {
ObjectMapper objectMapper = createObjectMapper();
MappingJackson2HttpMessageConverter mj2hmc = (MappingJackson2HttpMessageConverter) hmc;
mj2hmc.setObjectMapper(objectMapper);
}
}
return (RestOperations) Proxy.newProxyInstance(RestOperations.class.getClassLoader(),
new Class[]{RestOperations.class},
new RetryableRestOperationsHandler(restTemplate, retryTimes, retryPolicyFactory));
}
项目:intellij-ce-playground
文件:AuthenticationService.java
@NotNull
private HttpClient getClient(@NotNull SVNURL repositoryUrl) {
// TODO: Implement algorithm of resolving necessary enabled protocols (TLSv1 vs SSLv3) instead of just using values from Settings.
SSLContext sslContext = createSslContext(repositoryUrl);
List<String> supportedProtocols = getSupportedSslProtocols();
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(sslContext, ArrayUtil.toStringArray(supportedProtocols), null,
SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
// TODO: Seems more suitable here to read timeout values directly from config file - without utilizing SvnAuthenticationManager.
final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
final BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
if (haveDataForTmpConfig()) {
IdeHttpClientHelpers.ApacheHttpClient4.setProxyIfEnabled(requestConfigBuilder);
IdeHttpClientHelpers.ApacheHttpClient4.setProxyCredentialsIfEnabled(credentialsProvider);
}
return HttpClients.custom()
.setSSLSocketFactory(socketFactory)
.setDefaultSocketConfig(SocketConfig.custom()
.setSoTimeout(getAuthenticationManager().getReadTimeout(repositoryUrl))
.build())
.setDefaultRequestConfig(requestConfigBuilder
.setConnectTimeout(getAuthenticationManager().getConnectTimeout(repositoryUrl))
.build())
.setDefaultCredentialsProvider(credentialsProvider)
.build();
}
项目:purecloud-iot
文件:LocalServerTestBase.java
@Before
public void setUp() throws Exception {
final SocketConfig socketConfig = SocketConfig.custom()
.setSoTimeout(15000)
.build();
this.serverBootstrap = ServerBootstrap.bootstrap()
.setSocketConfig(socketConfig)
.setServerInfo(ORIGIN)
.registerHandler("/echo/*", new EchoHandler())
.registerHandler("/random/*", new RandomHandler());
if (this.scheme.equals(ProtocolScheme.https)) {
this.serverBootstrap.setSslContext(SSLTestContexts.createServerSSLContext());
}
this.connManager = new PoolingHttpClientConnectionManager();
this.clientBuilder = HttpClientBuilder.create()
.setDefaultSocketConfig(socketConfig)
.setConnectionManager(this.connManager);
}
项目:purecloud-iot
文件:TestHttpClientConnectionOperator.java
@Test(expected=ConnectTimeoutException.class)
public void testConnectTimeout() throws Exception {
final HttpContext context = new BasicHttpContext();
final HttpHost host = new HttpHost("somehost");
final InetAddress ip1 = InetAddress.getByAddress(new byte[] {10, 0, 0, 1});
final InetAddress ip2 = InetAddress.getByAddress(new byte[] {10, 0, 0, 2});
Mockito.when(dnsResolver.resolve("somehost")).thenReturn(new InetAddress[] { ip1, ip2 });
Mockito.when(socketFactoryRegistry.lookup("http")).thenReturn(plainSocketFactory);
Mockito.when(schemePortResolver.resolve(host)).thenReturn(80);
Mockito.when(plainSocketFactory.createSocket(Mockito.<HttpContext>any())).thenReturn(socket);
Mockito.when(plainSocketFactory.connectSocket(
Mockito.anyInt(),
Mockito.<Socket>any(),
Mockito.<HttpHost>any(),
Mockito.<InetSocketAddress>any(),
Mockito.<InetSocketAddress>any(),
Mockito.<HttpContext>any())).thenThrow(new SocketTimeoutException());
connectionOperator.connect(conn, host, null, 1000, SocketConfig.DEFAULT, context);
}
项目:purecloud-iot
文件:TestHttpClientConnectionOperator.java
@Test(expected=HttpHostConnectException.class)
public void testConnectFailure() throws Exception {
final HttpContext context = new BasicHttpContext();
final HttpHost host = new HttpHost("somehost");
final InetAddress ip1 = InetAddress.getByAddress(new byte[] {10, 0, 0, 1});
final InetAddress ip2 = InetAddress.getByAddress(new byte[] {10, 0, 0, 2});
Mockito.when(dnsResolver.resolve("somehost")).thenReturn(new InetAddress[] { ip1, ip2 });
Mockito.when(socketFactoryRegistry.lookup("http")).thenReturn(plainSocketFactory);
Mockito.when(schemePortResolver.resolve(host)).thenReturn(80);
Mockito.when(plainSocketFactory.createSocket(Mockito.<HttpContext>any())).thenReturn(socket);
Mockito.when(plainSocketFactory.connectSocket(
Mockito.anyInt(),
Mockito.<Socket>any(),
Mockito.<HttpHost>any(),
Mockito.<InetSocketAddress>any(),
Mockito.<InetSocketAddress>any(),
Mockito.<HttpContext>any())).thenThrow(new ConnectException());
connectionOperator.connect(conn, host, null, 1000, SocketConfig.DEFAULT, context);
}
项目:elasticsearch-shield-kerberos-realm
文件:AbstractUnitTest.java
protected final CloseableHttpClient getHttpClient(final boolean useSpnego) throws Exception {
final CredentialsProvider credsProvider = new BasicCredentialsProvider();
final HttpClientBuilder hcb = HttpClients.custom();
if (useSpnego) {
//SPNEGO/Kerberos setup
log.debug("SPNEGO activated");
final AuthSchemeProvider nsf = new SPNegoSchemeFactory(true);// new NegotiateSchemeProvider();
final Credentials jaasCreds = new JaasCredentials();
credsProvider.setCredentials(new AuthScope(null, -1, null, AuthSchemes.SPNEGO), jaasCreds);
credsProvider.setCredentials(new AuthScope(null, -1, null, AuthSchemes.NTLM), new NTCredentials("Guest", "Guest", "Guest",
"Guest"));
final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider> create()
.register(AuthSchemes.SPNEGO, nsf).register(AuthSchemes.NTLM, new NTLMSchemeFactory()).build();
hcb.setDefaultAuthSchemeRegistry(authSchemeRegistry);
}
hcb.setDefaultCredentialsProvider(credsProvider);
hcb.setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(10 * 1000).build());
final CloseableHttpClient httpClient = hcb.build();
return httpClient;
}
项目:rundeck-http-plugin
文件:HttpWorkflowStepPlugin.java
protected HttpClient getHttpClient(Map<String, Object> options) throws GeneralSecurityException {
SocketConfig socketConfig = SocketConfig.custom()
.setSoKeepAlive(true).build();
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
httpClientBuilder.setDefaultSocketConfig(socketConfig);
httpClientBuilder.disableAuthCaching();
httpClientBuilder.disableAutomaticRetries();
if(options.containsKey("sslVerify") && !Boolean.parseBoolean(options.get("sslVerify").toString())) {
log.debug("Disabling all SSL certificate verification.");
SSLContextBuilder sslContextBuilder = new SSLContextBuilder();
sslContextBuilder.loadTrustMaterial(null, new TrustStrategy() {
@Override
public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
return true;
}
});
httpClientBuilder.setSSLHostnameVerifier(new NoopHostnameVerifier());
httpClientBuilder.setSSLContext(sslContextBuilder.build());
}
return httpClientBuilder.build();
}
项目:Lucee4
文件:DefaultHttpClientConnectionOperatorImpl.java
@Override
public void connect(
final ManagedHttpClientConnection conn,
final HttpHost host,
final InetSocketAddress localAddress,
final int connectTimeout,
final SocketConfig socketConfig,
final HttpContext context) throws IOException {
try {
super.connect(conn, host, localAddress, connectTimeout, socketConfig, context);
}
catch (SSLProtocolException e) {
Boolean enableSniValue = (Boolean) context.getAttribute(SSLConnectionSocketFactoryImpl.ENABLE_SNI);
boolean enableSni = enableSniValue == null || enableSniValue;
if (enableSni && e.getMessage() != null && e.getMessage().equals("handshake alert: unrecognized_name")) {
//print.e("Server received saw wrong SNI host, retrying without SNI");
context.setAttribute(SSLConnectionSocketFactoryImpl.ENABLE_SNI, false);
super.connect(conn, host, localAddress, connectTimeout, socketConfig, context);
}
else throw e;
}
}
项目:find
文件:AbstractMigrateUsersToIncludeUsernames.java
protected AbstractMigrateUsersToIncludeUsernames() {
final String host = System.getProperty(COMMUNITY_HOST);
final int port = Integer.parseInt(System.getProperty(COMMUNITY_PORT));
final AciServerDetails.TransportProtocol transportProtocol = AciServerDetails.TransportProtocol.valueOf(System.getProperty(COMMUNITY_PROTOCOL));
serverDetails = new AciServerDetails(transportProtocol, host, port);
processorFactory = new ProcessorFactoryImpl(new Jaxb2MarshallerFactory());
final SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(HTTP_SOCKET_TIMEOUT).build();
final HttpClient httpClient = HttpClientBuilder.create()
.setMaxConnPerRoute(MAX_CONNECTIONS_PER_ROUTE)
.setMaxConnTotal(MAX_CONNECTIONS_TOTAL)
.setDefaultSocketConfig(socketConfig)
.build();
final AciHttpClient aciHttpClient = new AciHttpClientImpl(httpClient);
aciService = new AciServiceImpl(aciHttpClient, serverDetails);
}
项目:Lucee
文件:DefaultHttpClientConnectionOperatorImpl.java
@Override
public void connect(
final ManagedHttpClientConnection conn,
final HttpHost host,
final InetSocketAddress localAddress,
final int connectTimeout,
final SocketConfig socketConfig,
final HttpContext context) throws IOException {
try {
super.connect(conn, host, localAddress, connectTimeout, socketConfig, context);
}
catch (SSLProtocolException e) {
Boolean enableSniValue = (Boolean) context.getAttribute(SSLConnectionSocketFactoryImpl.ENABLE_SNI);
boolean enableSni = enableSniValue == null || enableSniValue;
if (enableSni && e.getMessage() != null && e.getMessage().equals("handshake alert: unrecognized_name")) {
//print.e("Server received saw wrong SNI host, retrying without SNI");
context.setAttribute(SSLConnectionSocketFactoryImpl.ENABLE_SNI, false);
super.connect(conn, host, localAddress, connectTimeout, socketConfig, context);
}
else throw e;
}
}
项目:modules
文件:DhisWebServiceImpl.java
@Autowired
public DhisWebServiceImpl(@Qualifier("dhisSettingsService") SettingsService settingsService,
StatusMessageService statusMessageService,
HttpClientBuilderFactory httpClientBuilderFactory) throws InterruptedException {
this.settingsService = settingsService;
this.statusMessageService = statusMessageService;
SocketConfig socketConfig = SocketConfig.custom()
.setSoTimeout(SO_TIMEOUT)
.build();
poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager();
poolingHttpClientConnectionManager.setMaxTotal(MAX_CONNECTIONS);
poolingHttpClientConnectionManager.setDefaultMaxPerRoute(MAX_PER_ROUTE);
poolingHttpClientConnectionManager.setDefaultSocketConfig(socketConfig);
this.client = httpClientBuilderFactory.newBuilder()
.setConnectionManager(poolingHttpClientConnectionManager)
.build();
ExecutorService executorService = Executors.newFixedThreadPool(1);
executorService.execute(new IdleConnectionMonitorRunnable(poolingHttpClientConnectionManager));
}
项目:Hotel-Reservation-Tool
文件:ServiceRegistration.java
@Produces
@AddReservationUrl
public String getAddNewReservationUrl() {
if (lastCheck.isBefore(now().minusMinutes(MINUTES_PER_CHECK))) {
available = false;
// this is obviously bad...but ok for our example
LOGGER.info(() -> "Checking availability of " + ADD_NEW_RESERVATION_URL);
SocketConfig socketConfig = copy(DEFAULT).setSoTimeout(2000).build();
try (CloseableHttpClient client = HttpClientBuilder.create().setDefaultSocketConfig(socketConfig).build(); CloseableHttpResponse response = client.execute(HttpHost.create(HOST_URL), new HttpGet(ADD_NEW_RESERVATION_URL))) {
available = SC_OK == response.getStatusLine().getStatusCode();
if (SC_OK != response.getStatusLine().getStatusCode()) {
LOGGER.log(WARNING, () -> "Cannot access url for new reservations!");
}
} catch (IOException e) {
LOGGER.log(SEVERE, e, () -> "Cannot access url for new reservations!");
}
}
return available ? ADD_NEW_RESERVATION_URL : null;
}
项目:bce-sdk-java
文件:BceHttpClient.java
/**
* 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;
}
项目:elasticsearch-maven-plugin
文件:ElasticsearchClient.java
private static HttpClientConnectionManager buildHttpClientManager(int socketTimeout)
{
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
cm.setMaxTotal(3);
cm.setDefaultMaxPerRoute(2);
cm.setValidateAfterInactivity(1);
cm.setDefaultSocketConfig(SocketConfig.custom()
.setSoTimeout(socketTimeout)
.setSoLinger(0)
.setTcpNoDelay(true)
.build());
return cm;
}
项目:gooddata-java
文件:GoodData.java
private HttpClientBuilder createHttpClientBuilder(final GoodDataSettings settings) {
final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setDefaultMaxPerRoute(settings.getMaxConnections());
connectionManager.setMaxTotal(settings.getMaxConnections());
final SocketConfig.Builder socketConfig = SocketConfig.copy(SocketConfig.DEFAULT);
socketConfig.setSoTimeout(settings.getSocketTimeout());
connectionManager.setDefaultSocketConfig(socketConfig.build());
final RequestConfig.Builder requestConfig = RequestConfig.copy(RequestConfig.DEFAULT);
requestConfig.setConnectTimeout(settings.getConnectionTimeout());
requestConfig.setConnectionRequestTimeout(settings.getConnectionRequestTimeout());
requestConfig.setSocketTimeout(settings.getSocketTimeout());
return HttpClientBuilder.create()
.setUserAgent(StringUtils.isNotBlank(settings.getUserAgent()) ? String.format("%s %s", settings.getUserAgent(), getUserAgent()) : getUserAgent())
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(requestConfig.build());
}
项目:whois
文件:LacnicGrsSource.java
private String post(final String url) throws IOException {
final HttpClient client = HttpClients
.custom()
.setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(TIMEOUT).build())
.build();
final HttpUriRequest request = RequestBuilder
.post()
.addParameter("handle", userId)
.addParameter("passwd", password)
.setUri(url)
.setConfig(RequestConfig.custom().setConnectTimeout(TIMEOUT).build())
.build();
return IOUtils.toString(
client.execute(request)
.getEntity()
.getContent());
}
项目:sling-org-apache-sling-testing-clients
文件:HttpServerRule.java
@Override
protected void before() throws Throwable {
final SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(5000).build();
serverBootstrap = ServerBootstrap.bootstrap().setSocketConfig(socketConfig).setServerInfo(ORIGIN);
if(ProtocolScheme.https.equals(protocolScheme)) {
serverBootstrap.setSslContext(SSLTestContexts.createServerSSLContext());
}
registerHandlers();
server = serverBootstrap.create();
server.start();
host = new HttpHost("127.0.0.1", server.getLocalPort(), protocolScheme.name());
uri = URIUtils.rewriteURI(new URI("/"), host);
}
项目:ScriptSpider
文件:HttpUtils.java
/**
* 创建httpclient连接池,并初始化httpclient
*/
public void init() {
try {
SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(null,
new TrustSelfSignedStrategy())
.build();
HostnameVerifier hostnameVerifier = SSLConnectionSocketFactory.getDefaultHostnameVerifier();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
sslcontext, hostnameVerifier);
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.getSocketFactory())
.register("https", sslsf)
.build();
httpClientConnectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
// Increase max total connection to 200
httpClientConnectionManager.setMaxTotal(maxTotalPool);
// Increase default max connection per route to 20
httpClientConnectionManager.setDefaultMaxPerRoute(maxConPerRoute);
SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(socketTimeout).build();
httpClientConnectionManager.setDefaultSocketConfig(socketConfig);
} catch (Exception e) {
}
}
项目:hrrs
文件:ApacheHttpClientFactory.java
private HttpClientConnectionManager createConnectionManager() {
SocketConfig socketConfig = createSocketConfig();
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setMaxTotal(config.getThreadCount());
connectionManager.setDefaultMaxPerRoute(config.getThreadCount());
connectionManager.setDefaultSocketConfig(socketConfig);
return connectionManager;
}
项目:hrrs
文件:ApacheHttpClientFactory.java
private static SocketConfig createSocketConfig() {
return SocketConfig
.custom()
.setSoKeepAlive(true)
.setTcpNoDelay(true)
.setSoReuseAddress(true)
.build();
}
项目:aws-sdk-java-v2
文件:ApacheConnectionManagerFactory.java
private SocketConfig buildSocketConfig(AttributeMap standardOptions) {
return SocketConfig.custom()
// TODO do we want to keep SO keep alive
.setSoKeepAlive(false)
.setSoTimeout(
saturatedCast(standardOptions.get(SdkHttpConfigurationOption.SOCKET_TIMEOUT).toMillis()))
.setTcpNoDelay(true)
.build();
}
项目:ibm-cos-sdk-java
文件:ApacheConnectionManagerFactory.java
private SocketConfig buildSocketConfig(HttpClientSettings settings) {
return SocketConfig.custom()
.setSoKeepAlive(settings.useTcpKeepAlive())
.setSoTimeout(settings.getSocketTimeout())
.setTcpNoDelay(true)
.build();
}
项目:stocator
文件:SwiftConnectionManager.java
/**
* Default constructor
*
* @param connectionConfigurationT connection conf
*/
public SwiftConnectionManager(ConnectionConfiguration connectionConfigurationT) {
connectionConfiguration = connectionConfigurationT;
connectionPool = new PoolingHttpClientConnectionManager();
LOG.trace(
"SwiftConnectionManager: setDefaultMaxPerRoute {}",
connectionConfiguration.getMaxPerRoute()
);
connectionPool.setDefaultMaxPerRoute(connectionConfiguration.getMaxPerRoute());
LOG.trace(
"SwiftConnectionManager: getMaxTotal {}",
connectionConfiguration.getMaxTotal()
);
connectionPool.setMaxTotal(connectionConfiguration.getMaxTotal());
LOG.trace(
"Generate SocketConfig with soTimeout of {}",
connectionConfiguration.getSoTimeout()
);
SocketConfig socketConfig = SocketConfig.custom()
.setSoKeepAlive(false)
.setSoTimeout(connectionConfiguration.getSoTimeout())
.build();
connectionPool.setDefaultSocketConfig(socketConfig);
rConfig = RequestConfig.custom()
.setExpectContinueEnabled(true)
.setConnectTimeout(connectionConfiguration.getReqConnectTimeout())
.setConnectionRequestTimeout(
connectionConfiguration.getReqConnectionRequestTimeout())
.setSocketTimeout(connectionConfiguration.getReqSocketTimeout())
.build();
}
项目:haven-search-components
文件:HavenSearchIdolConfiguration.java
private HttpClient createHttpClient(final int httpSocketTimeout, final int maxConnectionsPerRoute, final int maxConnectionsTotal) {
final SocketConfig socketConfig = SocketConfig.custom()
.setSoTimeout(httpSocketTimeout)
.build();
return HttpClientBuilder.create()
.setMaxConnPerRoute(maxConnectionsPerRoute)
.setMaxConnTotal(maxConnectionsTotal)
.setDefaultSocketConfig(socketConfig)
.build();
}
项目:remote-files-sync
文件:HttpParamConfig.java
public static SocketConfig getSocketConfig(final HttpParams params) {
return SocketConfig.custom()
.setSoTimeout(params.getIntParameter(CoreConnectionPNames.SO_TIMEOUT, 0))
.setSoLinger(params.getIntParameter(CoreConnectionPNames.SO_LINGER, -1))
.setTcpNoDelay(params.getBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true))
.build();
}
项目:remote-files-sync
文件:BasicConnFactory.java
/**
* @since 4.3
*/
public BasicConnFactory(
final SocketFactory plainfactory,
final SSLSocketFactory sslfactory,
final int connectTimeout,
final SocketConfig sconfig,
final ConnectionConfig cconfig) {
super();
this.plainfactory = plainfactory;
this.sslfactory = sslfactory;
this.connectTimeout = connectTimeout;
this.sconfig = sconfig != null ? sconfig : SocketConfig.DEFAULT;
this.connFactory = new DefaultBHttpClientConnectionFactory(
cconfig != null ? cconfig : ConnectionConfig.DEFAULT);
}
项目:remote-files-sync
文件:BasicHttpClientConnectionManager.java
public BasicHttpClientConnectionManager(
final Lookup<ConnectionSocketFactory> socketFactoryRegistry,
final HttpConnectionFactory<HttpRoute, ManagedHttpClientConnection> connFactory,
final SchemePortResolver schemePortResolver,
final DnsResolver dnsResolver) {
super();
this.connectionOperator = new HttpClientConnectionOperator(
socketFactoryRegistry, schemePortResolver, dnsResolver);
this.connFactory = connFactory != null ? connFactory : ManagedHttpClientConnectionFactory.INSTANCE;
this.expiry = Long.MAX_VALUE;
this.socketConfig = SocketConfig.DEFAULT;
this.connConfig = ConnectionConfig.DEFAULT;
this.isShutdown = new AtomicBoolean(false);
}
项目:remote-files-sync
文件:PoolingHttpClientConnectionManager.java
public void connect(
final HttpClientConnection managedConn,
final HttpRoute route,
final int connectTimeout,
final HttpContext context) throws IOException {
Args.notNull(managedConn, "Managed Connection");
Args.notNull(route, "HTTP route");
final ManagedHttpClientConnection conn;
synchronized (managedConn) {
final CPoolEntry entry = CPoolProxy.getPoolEntry(managedConn);
conn = entry.getConnection();
}
final HttpHost host;
if (route.getProxyHost() != null) {
host = route.getProxyHost();
} else {
host = route.getTargetHost();
}
final InetSocketAddress localAddress = route.getLocalAddress() != null ? new InetSocketAddress(route.getLocalAddress(), 0) : null;;
SocketConfig socketConfig = this.configData.getSocketConfig(host);
if (socketConfig == null) {
socketConfig = this.configData.getDefaultSocketConfig();
}
if (socketConfig == null) {
socketConfig = SocketConfig.DEFAULT;
}
this.connectionOperator.connect(
conn, host, localAddress, connectTimeout, socketConfig, context);
}
项目:springboot-quick-build
文件:DefaultApacheHttpClientBuilder.java
private void prepare() {
Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create().register("http", this.plainConnectionSocketFactory)
.register("https", this.sslConnectionSocketFactory).build();
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(registry);
connectionManager.setMaxTotal(this.maxTotalConn);
connectionManager.setDefaultMaxPerRoute(this.maxConnPerHost);
connectionManager.setDefaultSocketConfig(SocketConfig.copy(SocketConfig.DEFAULT).setSoTimeout(this.soTimeout).build());
this.idleConnectionMonitorThread = new IdleConnectionMonitorThread(connectionManager, this.idleConnTimeout, this.checkWaitTime);
this.idleConnectionMonitorThread.setDaemon(true);
this.idleConnectionMonitorThread.start();
this.httpClientBuilder = HttpClients
.custom().setConnectionManager(connectionManager).setDefaultRequestConfig(RequestConfig.custom().setSocketTimeout(this.soTimeout)
.setConnectTimeout(this.connectionTimeout).setConnectionRequestTimeout(this.connectionRequestTimeout).build())
.setRetryHandler(this.httpRequestRetryHandler);
if (StringUtils.isNotBlank(this.httpProxyHost) && StringUtils.isNotBlank(this.httpProxyUsername)) {
// 使用代理服务器 需要用户认证的代理服务器
CredentialsProvider provider = new BasicCredentialsProvider();
provider.setCredentials(new AuthScope(this.httpProxyHost, this.httpProxyPort), new UsernamePasswordCredentials(this.httpProxyUsername, this.httpProxyPassword));
this.httpClientBuilder.setDefaultCredentialsProvider(provider);
}
if (StringUtils.isNotBlank(this.userAgent)) {
this.httpClientBuilder.setUserAgent(this.userAgent);
}
}
项目:purecloud-iot
文件:TestStaleWhileRevalidationReleasesConnection.java
@Before
public void start() throws Exception {
this.localServer = ServerBootstrap.bootstrap()
.setSocketConfig(SocketConfig.custom()
.setSoTimeout(5000)
.build())
.registerHandler(url + "*", new EchoViaHeaderHandler())
.create();
this.localServer.start();
port = this.localServer.getLocalPort();
final CacheConfig cacheConfig = CacheConfig.custom()
.setMaxCacheEntries(100)
.setMaxObjectSize(15) //1574
.setAsynchronousWorkerIdleLifetimeSecs(60)
.setAsynchronousWorkersMax(1)
.setAsynchronousWorkersCore(1)
.setRevalidationQueueSize(100)
.setSharedCache(true)
.build();
final HttpClientBuilder clientBuilder = CachingHttpClientBuilder.create().setCacheConfig(cacheConfig);
clientBuilder.setMaxConnTotal(1);
clientBuilder.setMaxConnPerRoute(1);
final RequestConfig config = RequestConfig.custom()
.setSocketTimeout(10000)
.setConnectTimeout(10000)
.setConnectionRequestTimeout(1000)
.build();
clientBuilder.setDefaultRequestConfig(config);
client = clientBuilder.build();
}
项目:purecloud-iot
文件:BasicHttpClientConnectionManager.java
/**
* @since 4.4
*/
public BasicHttpClientConnectionManager(
final HttpClientConnectionOperator httpClientConnectionOperator,
final HttpConnectionFactory<HttpRoute, ManagedHttpClientConnection> connFactory) {
super();
this.connectionOperator = Args.notNull(httpClientConnectionOperator, "Connection operator");
this.connFactory = connFactory != null ? connFactory : ManagedHttpClientConnectionFactory.INSTANCE;
this.expiry = Long.MAX_VALUE;
this.socketConfig = SocketConfig.DEFAULT;
this.connConfig = ConnectionConfig.DEFAULT;
this.isShutdown = new AtomicBoolean(false);
}
项目:purecloud-iot
文件:PoolingHttpClientConnectionManager.java
@Override
public void connect(
final HttpClientConnection managedConn,
final HttpRoute route,
final int connectTimeout,
final HttpContext context) throws IOException {
Args.notNull(managedConn, "Managed Connection");
Args.notNull(route, "HTTP route");
final ManagedHttpClientConnection conn;
synchronized (managedConn) {
final CPoolEntry entry = CPoolProxy.getPoolEntry(managedConn);
conn = entry.getConnection();
}
final HttpHost host;
if (route.getProxyHost() != null) {
host = route.getProxyHost();
} else {
host = route.getTargetHost();
}
final InetSocketAddress localAddress = route.getLocalSocketAddress();
SocketConfig socketConfig = this.configData.getSocketConfig(host);
if (socketConfig == null) {
socketConfig = this.configData.getDefaultSocketConfig();
}
if (socketConfig == null) {
socketConfig = SocketConfig.DEFAULT;
}
this.connectionOperator.connect(
conn, host, localAddress, connectTimeout, socketConfig, context);
}
项目:purecloud-iot
文件:HttpClientConnectionOperator.java
void connect(
ManagedHttpClientConnection conn,
HttpHost host,
InetSocketAddress localAddress,
int connectTimeout,
SocketConfig socketConfig,
HttpContext context) throws IOException;
项目:purecloud-iot
文件:TestHttpClientConnectionOperator.java
@Test
public void testConnectFailover() throws Exception {
final HttpContext context = new BasicHttpContext();
final HttpHost host = new HttpHost("somehost");
final InetAddress local = InetAddress.getByAddress(new byte[] {127, 0, 0, 0});
final InetAddress ip1 = InetAddress.getByAddress(new byte[] {10, 0, 0, 1});
final InetAddress ip2 = InetAddress.getByAddress(new byte[] {10, 0, 0, 2});
Mockito.when(dnsResolver.resolve("somehost")).thenReturn(new InetAddress[] { ip1, ip2 });
Mockito.when(socketFactoryRegistry.lookup("http")).thenReturn(plainSocketFactory);
Mockito.when(schemePortResolver.resolve(host)).thenReturn(80);
Mockito.when(plainSocketFactory.createSocket(Mockito.<HttpContext>any())).thenReturn(socket);
Mockito.when(plainSocketFactory.connectSocket(
Mockito.anyInt(),
Mockito.<Socket>any(),
Mockito.<HttpHost>any(),
Mockito.eq(new InetSocketAddress(ip1, 80)),
Mockito.<InetSocketAddress>any(),
Mockito.<HttpContext>any())).thenThrow(new ConnectException());
Mockito.when(plainSocketFactory.connectSocket(
Mockito.anyInt(),
Mockito.<Socket>any(),
Mockito.<HttpHost>any(),
Mockito.eq(new InetSocketAddress(ip2, 80)),
Mockito.<InetSocketAddress>any(),
Mockito.<HttpContext>any())).thenReturn(socket);
final InetSocketAddress localAddress = new InetSocketAddress(local, 0);
connectionOperator.connect(conn, host, localAddress, 1000, SocketConfig.DEFAULT, context);
Mockito.verify(plainSocketFactory).connectSocket(
1000,
socket,
host,
new InetSocketAddress(ip2, 80),
localAddress,
context);
Mockito.verify(conn, Mockito.times(3)).bind(socket);
}