Beim Herunterfahren eines ActorSystems habe ich festgestellt, dass ActorSystem::shutdown
veraltet war. Es wird vorgeschlagen, "Use the terminate() method instead"
.Gibt es einen Grund für die Abwertung der Shutdown-Methode?
Aber die decumentation dieser Methoden ist fast das gleiche:
/**
* Terminates this actor system. This will stop the guardian actor, which in turn
* will recursively stop all its child actors, then the system guardian
* (below which the logging actors reside) and the execute all registered
* termination handlers (see [[ActorSystem#registerOnTermination]]).
* Be careful to not schedule any operations on completion of the returned future
* using the `dispatcher` of this actor system as it will have been shut down before the
* future completes.
*/
def terminate(): Future[Terminated]
und
/**
* Stop this actor system. This will stop the guardian actor, which in turn
* will recursively stop all its child actors, then the system guardian
* (below which the logging actors reside) and the execute all registered
* termination handlers (see [[ActorSystem#registerOnTermination]]).
*/
@deprecated("Use the terminate() method instead", "2.4")
def shutdown(): Unit
mit einer Ausnahme, dass der Rückgabetyp geändert hat. Was war der Grund für die Ablehnung shutdown
? War es nicht sicher?
Nun, dachte ich, dass alles über Schauspieler asynchron ist (einschließlich der 'shutdown' Methode). Wir wollen frei sein. BTW was "termin convention" meinst du? – stella
Entschuldigung, das war eine schlechte Formulierung meinerseits ... Ich habe die Antwort aktualisiert. – Casey
Cool, der zugehörige Link erklärt das. Vielen Dank. Kurz gesagt, es ist für eine feinkörnigere Terminierung gemacht worden, oder? – stella