Я не могу понять, как немедленно остановить поток akka Runnable Graph? Как использовать killswitch для достижения этого? Прошло всего несколько дней, когда я начал аккские потоки. В моем случае я читаю строки из файла и делаю некоторые операции в потоке и записи в раковину. Я хочу сделать это, прекратить чтение файла сразу, когда захочу, и я надеюсь, что это должно остановить рабочий график. Любые идеи по этому поводу будут очень признательны.Как внезапно остановить поток akka Runnable Graph?
Заранее спасибо.
Смотрите пример кода ниже: Как остановить следующий график, и отменить чтение большого файла? RunnableGraph.fromGraph (GraphDSL.create() { неявный конструктор => импорт GraphDSL.Implicits._ // Источник из файла вал A: Выход [String] = builder.add (readFileLineByLine) .out // записывает каждый строку в файл VAL E:. Впускной [String] = builder.add (writeLinesToFile) .в А ~> E ClosedShape }) запустить() – PainPoints
вы предоставляете пример таким образом, что вы знаете, когда чтобы остановить систему, прежде чем вы начнете, но в моем случае мне нужно остановить запущенную систему в любое время. – PainPoints
я вижу, из теста Акки потока я иду Tthis работу: вала Switch1 = KillSwitches.shared ("переключатель") VAL вниз по течению = RunnableGraph.fromGraph (GraphDSL.create() { неявного конструктор => импорта GraphDSL. Implicits._ // Источник из файла валей A: Выход [String] = builder.add (readFileLineByLine) .out // писать друг строку в файл вал E: Вход [String] = builder.add (writeLinesToFile) .in A.via (switch1.flow) ~> E Закрытая форма }). run() switch1.shutdown() – PainPoints