У меня есть приложение, основанное на спрее 1.3.3, и я пытаюсь остановить HTTP-сервер, отправив сообщение. Официальная документация говорит:Spray.IO Остановить http-сервер с Http.Unbind
Остановка. Чтобы явно остановить сервер, отправьте команду Http.Unbind в экземпляр HttpListener (ActorRef для этого экземпляра доступен в качестве отправителя события подтверждения Http.Bound с момента запуска сервера ).
Вот как я начала сервер:
(IO(Http) ? Http.Bind(httpListener, interface = iface, port = port)).map {
case m: Http.Bound => println(s"Success $iface:$port")
case fail : Http.CommandFailed => println(s"Bad try :(")
}
Я попытался отправить сообщение Http.Unbind в HttpListener, но без успеха. Кажется, это не то, что актер
Может быть, мне нужно каким-то образом передать сообщение отправителя Http.Bound? Но как?
Вот голова моего HttpListener в:
class MyHttpListener extends HttpServiceActor {
import context.dispatcher
def receive = runRoute(
path("shutdown") {
get {
actors.httpListener ! Http.Unbind
complete("Stopping server")
}
}
Во всяком случае, я просто хочу, чтобы отправить запрос HTTP к/выключения и есть мое приложение будет вниз
Я знаю, я не понимаю, как захватить при получении. Не могли бы вы предоставить какой-то код? –