Sco*_*ith 10 pipeline scala spray spray-client
使用spray的流水线操作来发出这样的HTTP请求时:
val urlpipeline = sendReceive ~> unmarshal[String]
urlpipeline { Get(url) }
Run Code Online (Sandbox Code Playgroud)
有没有办法为请求指定超时以及它应该为该特定请求重试的次数?
我发现的所有文档只引用了一个配置(即便如此,我似乎无法让它工作).
谢谢
Tim*_*aer 10
我在Akka系统中使用Spray 1.2.0.在我的演员里面,我导入现有的Akka系统,所以我可以使用默认的Akka配置文件.
implicit val system = context.system
import context.dispatcher
val pipeline: HttpRequest => Future[HttpResponse] = sendReceive
Run Code Online (Sandbox Code Playgroud)
现在您可以更改配置application.conf
.
spray.can.host-connector {
max-connections = 10
max-retries = 3
max-redirects = 0
pipelining = off
idle-timeout = 30 s
client = ${spray.can.client}
}
Run Code Online (Sandbox Code Playgroud)
可以使用HostConnectorSetup更改代码中的设置,但您必须定义所有参数.(基于喷雾用法示例.)
val pipeline: Future[SendReceive] =
for (
Http.HostConnectorInfo(connector, _) <-
IO(Http) ? Http.HostConnectorSetup("www.spray.io", port = 80, settings = Some(new HostConnectorSettings(maxConnections = 3, maxRetries = 3, maxRedirects = 0, pipelining = false, idleTimeout = 5 seconds, connectionSettings = ClientConnectionSettings(...))))
) yield sendReceive(connector)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3850 次 |
最近记录: |