private JestClient createJestClient ( String uri ) { HttpClientConfig . Builder builder = new HttpClientConfig . Builder ( uri ) . maxTotalConnection ( properties . getMaxTotalConnection ( ) ) . defaultMaxTotalConnectionPerRoute ( properties . getDefaultMaxTotalConnectionPerRoute ( ) ) . maxConnectionIdleTime ( properties . getMaxConnectionIdleTime ( ) , TimeUnit . MILLISECONDS ) . readTimeout ( properties . getReadTimeout ( ) ) . multiThreaded ( properties . getMultiThreaded ( ) ) ; if ( StringUtils . hasText ( this . properties . getUsername ( ) ) ) { builder . defaultCredentials ( this . properties . getUsername ( ) , this . properties . getPassword ( ) ) ; } String proxyHost = this . properties . getProxy ( ) . getHost ( ) ; if ( StringUtils . hasText ( proxyHost ) ) { Integer proxyPort = this . properties . getProxy ( ) . getPort ( ) ; Assert . notNull ( proxyPort , "Proxy port must not be null" ) ; builder . proxy ( new HttpHost ( proxyHost , proxyPort ) ) ; } List < HttpClientConfigBuilderCustomizer > configBuilderCustomizers = builderCustomizers != null ? builderCustomizers . getIfAvailable ( ) : new ArrayList <> ( ) ; if ( ! CollectionUtils . isEmpty ( configBuilderCustomizers ) ) { logger . info ( "Custom HttpClientConfigBuilderCustomizers detected. Applying these to the HttpClientConfig builder." ) ; configBuilderCustomizers . stream ( ) . forEach ( customizer -> customizer . customize ( builder ) ) ; logger . info ( "Custom HttpClientConfigBuilderCustomizers applied." ) ; } JestClientFactory factory = jestClientFactory != null ? jestClientFactory : new JestClientFactory ( ) ; factory . setHttpClientConfig ( builder . build ( ) ) ; return factory . getObject ( ) ; }
Create Jest client with URI