我正在使用Akka HTTP cachedHostConnectionPoolHttps池作为Akka流流的一部分发送请求:
private val requestFlow: Flow[(HttpRequest, HelperClass), Either[Error, String], _] =
Http().cachedHostConnectionPoolHttps(BaseUrl).mapAsync(1) {
case (Success(HttpResponse(_, _, entity, _)), _) =>
Unmarshal(entity).to[String].map(response => {
Right(response)
})
case (Failure(ex), _) =>
Future(Left(Error(ex)))
}
由于某种原因,并非所有请求响应都在处理中。某些响应会导致错误:
a.h.i.e.c.PoolGateway - [0 (WaitingForResponseEntitySubscription)] Response entity was not subscribed after 1 second. Make sure to read the response entity body or call `discardBytes()` on it.
如何订阅我的回复,同时保持上述流程?
2条答案
按热度按时间rslzwgfq1#
虽然这不是最佳解决方案,但您可以按如下方式增加响应订阅超时:
下面是一个更彻底的讨论:https://github.com/akka/akka-http/issues/1836
e3bfsja22#
根据文件建议,执行实体处理方式如下: