=str: Materializer should report being shut down on sys termination

This commit is contained in:
Endre Sándor Varga 2015-06-25 12:54:29 +02:00
parent 911943fc92
commit 292eba2d73
3 changed files with 19 additions and 6 deletions

View file

@ -5,6 +5,7 @@ package akka.stream
import java.util.Locale
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicBoolean
import akka.actor.{ ActorContext, ActorRef, ActorRefFactory, ActorSystem, ExtendedActorSystem, Props }
import akka.stream.impl._
@ -49,13 +50,15 @@ object ActorMaterializer {
* `namePrefix-flowNumber-flowStepNumber-stepName`.
*/
def apply(materializerSettings: ActorMaterializerSettings, namePrefix: String, optimizations: Optimizations)(implicit context: ActorRefFactory): ActorMaterializer = {
val haveShutDown = new AtomicBoolean(false)
val system = actorSystemOf(context)
new ActorMaterializerImpl(
system,
materializerSettings,
system.dispatchers,
context.actorOf(StreamSupervisor.props(materializerSettings).withDispatcher(materializerSettings.dispatcher)),
context.actorOf(StreamSupervisor.props(materializerSettings, haveShutDown).withDispatcher(materializerSettings.dispatcher)),
haveShutDown,
FlowNameCounter(system).counter,
namePrefix,
optimizations)