类org.springframework.http.client.OkHttp3ClientHttpRequestFactory源码实例Demo

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

源代码1 项目: soul   文件: HttpSyncDataService.java
private void start(final HttpConfig httpConfig) {
    // init RestTemplate
    OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory();
    factory.setConnectTimeout((int) this.connectionTimeout.toMillis());
    factory.setReadTimeout((int) HttpConstants.CLIENT_POLLING_READ_TIMEOUT);
    this.httpClient = new RestTemplate(factory);
    // It could be initialized multiple times, so you need to control that.
    if (RUNNING.compareAndSet(false, true)) {
        // fetch all group configs.
        this.fetchGroupConfig(ConfigGroupEnum.values());
        // one thread for listener, another one for fetch configuration data.
        this.executor = new ThreadPoolExecutor(3, 3, 0L, TimeUnit.MILLISECONDS,
                new LinkedBlockingQueue<>(),
                SoulThreadFactory.create("http-long-polling", true));
        // start long polling.
        this.executor.execute(new HttpLongPollingTask());
    } else {
        log.info("soul http long polling was started, executor=[{}]", executor);
    }
}
 
@Test
public void createClientHttpRequestFactory() {
    ClientOptions clientOptions = mock(ClientOptions.class);
    SslConfiguration sslConfiguration = mock(SslConfiguration.class);

    SslConfiguration.KeyStoreConfiguration keyStoreConfiguration = mock(SslConfiguration.KeyStoreConfiguration.class);
    when(sslConfiguration.getKeyStoreConfiguration()).thenReturn(keyStoreConfiguration);
    when(sslConfiguration.getTrustStoreConfiguration()).thenReturn(keyStoreConfiguration);

    when(clientOptions.getConnectionTimeout()).thenReturn(Duration.ZERO);
    when(clientOptions.getReadTimeout()).thenReturn(Duration.ZERO);

    ClientHttpRequestFactory result = util.createClientHttpRequestFactory(clientOptions, sslConfiguration);

    assertThat(result).isInstanceOf(OkHttp3ClientHttpRequestFactory.class);
}
 
@Bean
@Lazy
@ConditionalOnMissingBean
public RestTemplateBuilder restTemplateBuilder(ObjectProvider<HttpMessageConverters> messageConverters,
                                               ObjectProvider<RestTemplateCustomizer> restTemplateCustomizers,
                                               ObjectProvider<RestTemplateRequestCustomizer<?>> restTemplateRequestCustomizers,
                                               OkHttpClient okHttpClient) {
    RestTemplateBuilder builder = new RestTemplateBuilder();
    HttpMessageConverters converters = messageConverters.getIfUnique();
    if (converters != null) {
        builder = builder.messageConverters(converters.getConverters());
    }
    builder = addCustomizers(builder, restTemplateCustomizers, RestTemplateBuilder::customizers);
    builder = addCustomizers(builder, restTemplateRequestCustomizers, RestTemplateBuilder::requestCustomizers);

    builder = builder.requestFactory(() -> new OkHttp3ClientHttpRequestFactory(okHttpClient));

    return builder;
}
 
@Bean
@Lazy
@ConditionalOnMissingBean
public RestTemplateBuilder restTemplateBuilder(ObjectProvider<HttpMessageConverters> messageConverters,
                                               ObjectProvider<RestTemplateCustomizer> restTemplateCustomizers,
                                               ObjectProvider<RestTemplateRequestCustomizer<?>> restTemplateRequestCustomizers,
                                               OkHttpClient okHttpClient) {
    RestTemplateBuilder builder = new RestTemplateBuilder();
    HttpMessageConverters converters = messageConverters.getIfUnique();
    if (converters != null) {
        builder = builder.messageConverters(converters.getConverters());
    }
    builder = addCustomizers(builder, restTemplateCustomizers, RestTemplateBuilder::customizers);
    builder = addCustomizers(builder, restTemplateRequestCustomizers, RestTemplateBuilder::requestCustomizers);

    builder = builder.requestFactory(() -> new OkHttp3ClientHttpRequestFactory(okHttpClient));

    return builder;
}
 
源代码5 项目: onetwo   文件: DefaultRestExecutorFactory.java
@Override
public RestExecutor createRestExecutor() {
	RestExecutorConfig config = this.restExecutorConfig;
	if(config==null){
		config = new RestExecutorConfig();
	}
	ExtRestTemplate restTemplate = null;
	if(RestUtils.isOkHttp3Present()){
		OkHttp3ClientHttpRequestFactory requestFactory = new OkHttp3ClientHttpRequestFactory();
		requestFactory.setConnectTimeout(config.getConnectTimeout());
		requestFactory.setReadTimeout(config.getReadTimeout());
		requestFactory.setWriteTimeout(config.getWriteTimeout());
		restTemplate = new ExtRestTemplate(requestFactory);
	}else{
		restTemplate = new ExtRestTemplate();
	}
	return restTemplate;
}
 
@SuppressWarnings("deprecation")
@Parameters
public static Iterable<? extends ClientHttpRequestFactory> data() {
	return Arrays.asList(
			new SimpleClientHttpRequestFactory(),
			new HttpComponentsClientHttpRequestFactory(),
			new org.springframework.http.client.Netty4ClientHttpRequestFactory(),
			new OkHttp3ClientHttpRequestFactory()
	);
}
 
@SuppressWarnings("deprecation")
@Parameters
public static Iterable<? extends ClientHttpRequestFactory> data() {
	return Arrays.asList(
			new SimpleClientHttpRequestFactory(),
			new HttpComponentsClientHttpRequestFactory(),
			new Netty4ClientHttpRequestFactory(),
			new OkHttp3ClientHttpRequestFactory()
	);
}
 
@Parameterized.Parameters()
public static Iterable<Supplier<ClientHttpRequestFactory>> data() {
    return Arrays.asList(
        SimpleClientHttpRequestFactory::new,
        OkHttp3ClientHttpRequestFactory::new,
        HttpComponentsClientHttpRequestFactory::new);
}
 
@Test
public void okHttp3ClientCreated() throws Exception {
	ClientHttpRequestFactory factory = OkHttp3.usingOkHttp3(new ClientOptions());

	assertThat(factory).isInstanceOf(OkHttp3ClientHttpRequestFactory.class);

	((DisposableBean) factory).destroy();
}
 
@Override
public ClientHttpRequestFactory createRequestFactory(TimeoutConfiguration configuration) {
    OkHttp3ClientHttpRequestFactory requestFactory = new OkHttp3ClientHttpRequestFactory(httpClient);
    requestFactory.setConnectTimeout(toMillis(configuration.getConnection()));
    requestFactory.setReadTimeout(toMillis(configuration.getRead()));
    requestFactory.setWriteTimeout(toMillis(configuration.getWrite()));
    return requestFactory;
}
 
源代码11 项目: fahrschein   文件: Main.java
private static void subscriptionListenSpringAdapter(ObjectMapper objectMapper, Listener<SalesOrderPlaced> listener) throws IOException {

        final OkHttpClient client = new OkHttpClient.Builder()
                .readTimeout(60, TimeUnit.SECONDS)
                .connectTimeout(2, TimeUnit.SECONDS)
                .writeTimeout(10, TimeUnit.SECONDS)
                .connectionPool(new ConnectionPool(2, 5*60, TimeUnit.SECONDS))
                .certificatePinner(new CertificatePinner.Builder()
                        .add(NAKADI_URI.getHost(), "sha256/KMUmME9xy7BKVUZ80VcmQ75zIZo16IZRTqVRYHVZeWY=")
                        .build())
                .build();

        final OkHttp3ClientHttpRequestFactory clientHttpRequestFactory = new OkHttp3ClientHttpRequestFactory(client);
        final SpringRequestFactory requestFactory = new SpringRequestFactory(clientHttpRequestFactory);

        final NakadiClient nakadiClient = NakadiClient.builder(NAKADI_URI)
                .withRequestFactory(requestFactory)
                .withAccessTokenProvider(new ZignAccessTokenProvider())
                .build();

        final Subscription subscription = nakadiClient.subscription("fahrschein-demo", SALES_ORDER_SERVICE_ORDER_PLACED)
                .withConsumerGroup("fahrschein-demo")
                .readFromEnd()
                .subscribe();

        nakadiClient.stream(subscription)
                .withObjectMapper(objectMapper)
                .listen(SalesOrderPlaced.class, listener);
    }
 
protected RestTemplate createRestTemplate() {
    Timeout timeout = recaptcha.getValidation().getTimeout();
    OkHttp3ClientHttpRequestFactory requestFactory = new OkHttp3ClientHttpRequestFactory();
    requestFactory.setConnectTimeout(toMilliseconds(timeout.getConnect()));
    requestFactory.setReadTimeout(toMilliseconds(timeout.getRead()));
    requestFactory.setWriteTimeout(toMilliseconds(timeout.getWrite()));
    return new RestTemplate(requestFactory);
}
 
源代码13 项目: brave   文件: RestTemplateBenchmarks.java
@Override protected RestTemplate newClient(HttpTracing httpTracing) {
  OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory(ok);
  RestTemplate result = new RestTemplate(factory);
  result.setInterceptors(Collections.singletonList(
    TracingClientHttpRequestInterceptor.create(httpTracing
    )));
  return result;
}
 
源代码14 项目: brave   文件: AsyncRestTemplateBenchmarks.java
@Override protected AsyncRestTemplate newClient(HttpTracing httpTracing) {
  OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory(ok);
  AsyncRestTemplate result = new AsyncRestTemplate(factory);
  result.setInterceptors(Collections.singletonList(
    TracingAsyncClientHttpRequestInterceptor.create(httpTracing
    )));
  return result;
}
 
@Bean
public RestTemplate restTemplate() {
	return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
}
 
@Bean
public RestTemplate restTemplate() {
	return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
}
 
static ClientHttpRequestFactory usingOkHttp3(ClientOptions options, SslConfiguration sslConfiguration)
		throws GeneralSecurityException, IOException {

	Builder builder = new Builder();

	if (hasSslConfiguration(sslConfiguration)) {

		TrustManager[] trustManagers = getTrustManagers(sslConfiguration);

		if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {
			throw new IllegalStateException(
					"Unexpected default trust managers:" + Arrays.toString(trustManagers));
		}

		X509TrustManager trustManager = (X509TrustManager) trustManagers[0];
		SSLContext sslContext = getSSLContext(sslConfiguration, trustManagers);

		builder.sslSocketFactory(sslContext.getSocketFactory(), trustManager);
	}

	builder.connectTimeout(options.getConnectionTimeout().toMillis(), TimeUnit.MILLISECONDS)
			.readTimeout(options.getReadTimeout().toMillis(), TimeUnit.MILLISECONDS);

	return new OkHttp3ClientHttpRequestFactory(builder.build());
}
 
源代码18 项目: spring-boot-tutorials   文件: RestTemplateConfig.java
@Bean
public OkHttp3ClientHttpRequestFactory okHttp3ClientHttpRequestFactory(OkHttpClient okHttpClient) {
    OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory(okHttpClient);
    return factory;
}
 
源代码19 项目: onetwo   文件: ExtRestTemplate.java
public ExtRestTemplate(){
	this(RestUtils.isOkHttp3Present()?new OkHttp3ClientHttpRequestFactory():null);
}
 
源代码20 项目: brave   文件: RestTemplateBenchmarks.java
@Override protected RestTemplate newClient() {
  return new RestTemplate(new OkHttp3ClientHttpRequestFactory(ok));
}
 
源代码21 项目: brave   文件: AsyncRestTemplateBenchmarks.java
@Override protected AsyncRestTemplate newClient() {
  return new AsyncRestTemplate(new OkHttp3ClientHttpRequestFactory(ok));
}
 
@Test
void okHttp3ClientShouldWork() throws Exception {

	ClientHttpRequestFactory factory = OkHttp3.usingOkHttp3(new ClientOptions(), Settings.createSslConfiguration());
	RestTemplate template = new RestTemplate(factory);

	String response = request(template);

	assertThat(factory).isInstanceOf(OkHttp3ClientHttpRequestFactory.class);
	assertThat(response).isNotNull().contains("initialized");

	((DisposableBean) factory).destroy();
}
 
 类所在包
 同包方法