Я создал соединение клиент-сервер с использованием потоков akka со следующим кодом:
val connection = Tcp.get(system).outgoingConnection(serverIp, serverPort)
...
connection.join(graph).run(mat)
Когда сервер закрывается или перезагружается, я получаю следующее исключение на стороне клиента:
Upstream failed. (akka.stream.StreamTcpException: The connection closed with error: An existing connection was forcibly closed by the remote host)
Я хотел бы отловить эту ошибку и обработать ее (закрывая систему акторов на стороне клиента). Это возможно? Если да, то как?
Я пытался использовать стратегию надзора, но, похоже, это не сработало.
С помощью этой единственной программы к серверу может быть подключено несколько TCP-клиентов. Я хочу завершить работу системы клиента на стороне клиента, когда все клиенты TCP отключены (в любом случае, исключение или иное).