如何使用Spray客户端进行持久HTTP连接
问题描述:
我想要使用Scala Spray客户端库请求持久HTTP连接,以便客户端必须建立连接一次,然后可以在同一连接上进行多次调用。如何使用Spray客户端进行持久HTTP连接
我无法找到这个喷雾文档页面
答
上,我认为在默认情况下喷雾客户的任何信息都会重用连接在可能的情况。
默认情况下,60秒内未使用的连接将由客户端终止。
如果禁用空闲超时,我们的连接将保持活跃永远除非远程服务器设置一些超时后杀空闲连接(它可能是,但喷洒客户应该确保我们总是可以得到一个新的连接,服从极限波纹)。
我们可以将主机连接池的大小限制为1至获得所需的行为(每个主机一个连接):
# The maximum number of parallel connections that an `HttpHostConnector`
# is allowed to establish to a host. Must be greater than zero.
spray.can.host-connector.max-connections = 1
这将意味着,如果我们发送第二请求之前我们首先要求有收到了答复,第二个将不会被发送,直到第一个完成。要在单个连接上发送多个请求而无需等待第一个完成,我们可以启用pipelining。
# If this setting is enabled, the `HttpHostConnector` pipelines requests
# across connections, otherwise only one single request can be "open"
# on a particular HTTP connection.
spray.can.host-connector.pipelining = off