protected void initializeClient()

in src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java [120:154]


  protected void initializeClient(SolrCore core)
  {
    synchronized (connectionManagerSynchronizer)
    {
      if (client == null)
      {
        // Initialize the connection pool
        httpConnectionManager = new PoolingHttpClientConnectionManager();
        httpConnectionManager.setMaxTotal(poolSize);
        httpConnectionManager.setDefaultMaxPerRoute(poolSize);
        httpConnectionManager.setValidateAfterInactivity(2000);
        httpConnectionManager.setDefaultSocketConfig(SocketConfig.custom()
                .setTcpNoDelay(true)
                .setSoTimeout(socketTimeOut)
                .build());

        RequestConfig.Builder requestBuilder = RequestConfig.custom()
                .setCircularRedirectsAllowed(true)
                .setSocketTimeout(socketTimeOut)
                .setExpectContinueEnabled(true)
                .setConnectTimeout(connectionTimeOut)
                .setConnectionRequestTimeout(socketTimeOut);

        HttpClientBuilder clientBuilder = HttpClients.custom()
                .setConnectionManager(httpConnectionManager)
                .disableAutomaticRetries()
                .setDefaultRequestConfig(requestBuilder.build())
                .setRedirectStrategy(new DefaultRedirectStrategy());

        client = clientBuilder.build();

        core.addCloseHook(new CloseHandler());
      }
    }
  }