Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在akka http流请求中使用KillSwitch_Http_Akka_Akka Stream - Fatal编程技术网

在akka http流请求中使用KillSwitch

在akka http流请求中使用KillSwitch,http,akka,akka-stream,Http,Akka,Akka Stream,我正在使用Akka的HTTP客户端与无限流HTTP端点建立连接。我很难让客户端关闭HTTP服务器的上游 这是我的代码(StreamRequest()。stream返回一个Source[T,Any]。它由Http()生成。outgoingConnectionHttps然后是流[HttpResponse,T,NotUsed]将HttpResponse转换为T流: 那我有 tFuture.onComplete { _ => info(s"Shutting down the connectio

我正在使用Akka的HTTP客户端与无限流HTTP端点建立连接。我很难让客户端关闭HTTP服务器的上游

这是我的代码(
StreamRequest()。stream
返回一个
Source[T,Any]
。它由
Http()生成。outgoingConnectionHttps
然后是
流[HttpResponse,T,NotUsed]
HttpResponse
转换为
T
流:

那我有

tFuture.onComplete { _ =>
  info(s"Shutting down the connection")
  killSwitch.shutdown()
}
当我运行代码时,我会看到“正在关闭连接”日志消息,但服务器会告诉我,我仍然处于连接状态。它仅在JVM退出时断开连接

你知道我做错了什么,或者我应该在这里做些什么吗


谢谢

我怀疑您应该在
t未来
完成时调用
Http()。关闭所有连接池()
。池不会关闭连接,因为它们可以被不同的流重用,所以当流完成时,它不会关闭池。您在日志中看到的关闭连接可能是因为其中一个连接触发了空闲超时

tFuture.onComplete { _ =>
  info(s"Shutting down the connection")
  killSwitch.shutdown()
}