Java - 精确含义是什么?http.maxConnections

5

最近我发现Oracle提供的Java属性http.maxConnections有两种略微不同的定义。

这里 定义为:

如果启用HTTP keepalive,此值确定每个目标同时保持活动状态的最大空闲连接数。

这里则定义为:

表示在任何给定时间保持活动状态的每个目标的最大连接数。

我困惑的是第一个定义中提到的 "idle" 这个词。考虑到第一个定义,我的理解是这个属性仅限制连接池中存在但未使用的连接数量。这意味着,无论如何配置,我都可以同时向同一端点运行无限数量的活动连接。如果考虑上面第二个定义,Oracle 删除了关键字 idle。在最后一个定义中,似乎这个属性旨在限制对端点的总连接数,因此如果我将 http.maxConnections=10 配置为最大值,则可以同时向同一端点发出最多 10 个并发调用。
有人能解决我的疑惑吗?
谢谢!
(附:为了完整起见,我对 Java8 行为感兴趣)

2
看起来很明显,第二个文档也谈到了通过保持连接功能保持空闲连接的情况。如果有可用的现有空闲连接,新的HTTP请求将尝试重用其中之一,但如果没有,则会建立一个新连接(至少在此特定配置选项中没有限制)。 - Thilo
2个回答

2

代码检查显示该属性仅用于限制保持连接缓存的大小 - 所以除非我错了,否则这就是空闲连接的最大数量。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接