当前位置: 首页 > 知识库问答 >
问题:

如何在单线程Java客户机应用程序中重用相同的HttpClient连接?

顾亦
2023-03-14
public static CloseableHttpClient getConnection() {
        BasicHttpClientConnectionManager conMgr = new BasicHttpClientConnectionManager();
        HttpClientBuilder clientBuilder = HttpClientBuilder.create().disableAutomaticRetries().useSystemProperties()
                .disableCookieManagement().disableRedirectHandling().setConnectionManager(conMgr);
        return clientBuilder.build();
    }

共有1个答案

秦学林
2023-03-14

用最简单的术语来说,您可以在静态公共上下文中创建它:

public class MainApplication{

    private static BasicHttpClientConnectionManager conMgr = new BasicHttpClientConnectionManager();
    public static CloseableHttpClient closeableHttpClient =  HttpClientBuilder.create().disableAutomaticRetries().useSystemProperties()
            .disableCookieManagement().disableRedirectHandling().setConnectionManager(conMgr).build();


    public void noneStaticMethodUsingHttpClient() throws IOException {
            closeableHttpClient.close();
    }

}

然后它在应用程序中共享,并且只在应用程序启动时初始化。

但是,我不喜欢公共静态,因此我还建议您看看可以用来包装静态初始化的单例模式。

 类似资料:
  • 问题内容: 我正在尝试编写一个多线程Python应用程序,其中在线程之间共享一个SQlite连接。我无法使它正常工作。真正的应用程序是一个小巧的Web服务器,但是以下简单代码演示了我的问题。 为了成功运行下面的示例代码,我需要进行哪些更改? 当我在THREAD_COUNT设置为1的情况下运行此程序时,它可以正常工作,并且数据库已按预期进行更新(即,字母“ X”被添加到SectorGroup列的文本

  • 我在做一个客户端/服务器应用程序。目前它的功能很好,但我需要添加一个“选项”。 server类如下所示: 因此许多客户端都能够连接到服务器。我的观点是:我希望一个连接的客户机(比如说,Client1)能够向他选择的另一个连接的客户机(Client2)发送一些东西。 我的问题是:Client1如何找到/拥有/检索Client2的套接字,因为所有的Client1都通过这个clientSocket在不同

  • 问题内容: 我在远程Glassfish服务器和计算机上的应用程序客户端中都有一个EJB模块。我想从应用程序客户端连接到远程EJB。 这是我的EJB接口: 这是我的ejb: 我有几个问题: 我可以在远程应用程序客户端中使用依赖注入来连接到ejb吗?如果是这样,我该怎么做才能做到这一点。我是否需要在sun-ejb-jar.xml和sun-application-client.xml中进行配置?换句话说

  • 我需要一个用于java spring应用程序的graphQL客户端,以与另一个基于graphQL API的微服务通信。我知道Apollo Android,但它似乎没有用maven实现(也许你知道maven的一些链接或示例等)。有什么想法和建议吗?提前感谢!

  • 首先,我在我的iOS原生应用程序中集成了Google Drive,并使用GTMOAuth2进行授权登录,其中包含一个客户端ID。 然后,我现在尝试集成firebase身份验证,并在GoogleService-info.plist中获得了一个新的客户机id。

  • 问题内容: 我在Javascript中使用以下代码进行Ajax调用: 我也想在Java中做到这一点。基本上,我想编写一个Java客户端应用程序,该应用程序通过Ajax调用将该数据发送到服务器。 如何在Java中执行Ajax? 问题答案: AJAX与任何其他HTTP调用均没有不同。您基本上可以从Java发布相同的URL,就目标服务器而言,这无关紧要: 上面的代码或多或少与您的jQuery AJAX调