【问题标题】:how to use connection pooling in cxf jaxrs webclient如何在 cxf jaxrs webclient 中使用连接池
【发布时间】:2016-06-25 05:44:07
【问题描述】:

我正在构建一个内部调用其他服务的 REST 服务,我们使用 org.apache.cxf.jaxrs.client.WebClient 来执行此操作。

我想使用 HTTP 连接池来提高性能,但文档并不清楚如何做到这一点,或者这是否可行。这里有人做过吗?

我能想到的唯一其他选择是重用客户端,但我不想涉及这种方法带来的所有线程安全和同步问题。

【问题讨论】:

    标签: web-services rest cxf connection-pooling cxf-client


    【解决方案1】:

    默认情况下,CXF 使用基于 JDK 中 HttpURLConnection 对象的传输来执行 HTTP 请求。

    执行连接池,允许持久连接为多个 http 请求重用底层套接字连接。

    设置系统属性(默认值)

     http.keepalive=true
     http.maxConnections=5
    

    增加 http.maxConnections 的值以设置每个目标同时保持活动的最大空闲连接数。

    在这篇文章中详细解释了它是如何工作的

    Java HttpURLConnection and pooling

    当您需要同时执行多个请求时,CXF 也可以使用异步 apache HttpAsyncClient。此处提供服务器详细信息

    http://cxf.apache.org/docs/asynchronous-client-http-transport.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 2019-05-16
      • 1970-01-01
      相关资源
      最近更新 更多