如何在cxf jaxrs webclient中使用连接池
how to use connection pooling in cxf jaxrs webclient
我正在构建一个内部调用其他服务的 REST 服务,我们使用 org.apache.cxf.jaxrs.client.WebClient 来执行此操作。
我想使用 HTTP 连接池来提高性能,但文档并不清楚如何做到这一点,或者这是否可能。这里有人做过吗?
我能想到的唯一其他选择是重用客户端,但我不想深入探讨该方法带来的所有线程安全和同步问题。
默认情况下,CXF 使用基于 in-JDK HttpURLConnection 对象的传输来执行 HTTP 请求。
执行连接池,允许持久连接为多个 HTTP 请求重用底层套接字连接。
设置系统属性(默认值)
http.keepalive=true
http.maxConnections=5
增加 http.maxConnections 的值以设置每个目的地同时保持活动状态的最大空闲连接数。
在此 post 中详细解释了其工作原理
当您需要同时执行多个请求时,CXF 也可以使用异步apache HttpAsyncClient。 Ser 详细信息在这里
http://cxf.apache.org/docs/asynchronous-client-http-transport.html
我正在构建一个内部调用其他服务的 REST 服务,我们使用 org.apache.cxf.jaxrs.client.WebClient 来执行此操作。
我想使用 HTTP 连接池来提高性能,但文档并不清楚如何做到这一点,或者这是否可能。这里有人做过吗?
我能想到的唯一其他选择是重用客户端,但我不想深入探讨该方法带来的所有线程安全和同步问题。
默认情况下,CXF 使用基于 in-JDK HttpURLConnection 对象的传输来执行 HTTP 请求。
执行连接池,允许持久连接为多个 HTTP 请求重用底层套接字连接。
设置系统属性(默认值)
http.keepalive=true
http.maxConnections=5
增加 http.maxConnections 的值以设置每个目的地同时保持活动状态的最大空闲连接数。
在此 post 中详细解释了其工作原理
当您需要同时执行多个请求时,CXF 也可以使用异步apache HttpAsyncClient。 Ser 详细信息在这里
http://cxf.apache.org/docs/asynchronous-client-http-transport.html