Apache HttpRoute - 定义路由

时间:2016-10-04 18:19:59

标签: java http routes apache-httpclient-4.x

我正在使用Apache PoolingHttpClientConnectionManager创建一个连接到我的网络上差异服务的连接池。文档说明 Connections基于每个路由合并。我不完全清楚路线的含义。

我发现了另一个similar问题,但答案仍然有点不清楚。如果我们在同一台服务器上有两个应用程序,每个应用程序都有多个REST API,那么每个API都被认为是一个不同的路径吗?

例如,如果我们有以下内容:

 http://server1/app1/books
 http://server1/app1/magazines
 http://server1/app2/cars
 http://server1/app2/cars/color/red
 http://server1/app2/cars/color/black/doors/2

以上各项都被视为单一路线吗?

1 个答案:

答案 0 :(得分:6)

PoolingHttpClientConnectionManager实现ConnPoolControl<HttpRoute>,因此我们可以假设我们所讨论的路线是HttpRoute

在文档中,它写了HttpRoute

  

请求的路由。

HttpRoute的构造函数之一的形式为:

HttpRoute(HttpHost target, InetAddress local, HttpHost[] proxies, boolean secure, RouteInfo.TunnelType tunnelled, RouteInfo.LayerType layered)

查看RouteInfo.LayerType,我们看到:

  

路线的分层类型。平原路线由。建立   连接或隧道。分层路由是通过分层来建立的   现有连接上的协议,如TLS / SSL。协议可以   只能通过隧道分层到目标,或直接分层   没有代理的连接。

总之,在这种情况下,术语路由应该被理解为网络路由而不是从URL到控制器的映射,如标签&#34;路由&#34;你的问题。