* deduplicate logic for IODispatcher #24604 * introduce a resolveDispatcher helper in ActorAttributes * mention akka.stream.materializer.blocking-io-dispatcher instead of akka.stream.blocking-io-dispatcher in scaladocs * fix a flaky test * cosmetic changes in the touched files * move resolveDispather helper to the Dispatcher companion object under a new name resolve * filter out mima warning * fix mima excludes after the 2.5.11 release * address review comments * update stream-io.md with the correct dispatcher config key * mark ActorAttributes.Dispatcher#resolve as internal API * use the dispatche config key in ActorMaterializer * add private[akka] to the resolve methods
This commit is contained in:
parent
a13f5cab00
commit
0ecadf7235
17 changed files with 127 additions and 111 deletions
|
|
@ -43,13 +43,15 @@ import scala.concurrent.{ Await, ExecutionContextExecutor }
|
|||
* INTERNAL API
|
||||
*/
|
||||
@InternalApi private[akka] override def actorOf(context: MaterializationContext, props: Props): ActorRef = {
|
||||
val effectiveProps =
|
||||
if (props.dispatcher == Dispatchers.DefaultDispatcherId)
|
||||
val effectiveProps = props.dispatcher match {
|
||||
case Dispatchers.DefaultDispatcherId ⇒
|
||||
props.withDispatcher(context.effectiveAttributes.mandatoryAttribute[ActorAttributes.Dispatcher].dispatcher)
|
||||
else if (props.dispatcher == ActorAttributes.IODispatcher.dispatcher)
|
||||
case ActorAttributes.IODispatcher.dispatcher ⇒
|
||||
// this one is actually not a dispatcher but a relative config key pointing containing the actual dispatcher name
|
||||
props.withDispatcher(settings.blockingIoDispatcher)
|
||||
else props
|
||||
case _ ⇒ props
|
||||
}
|
||||
|
||||
actorOf(effectiveProps, context.islandName)
|
||||
}
|
||||
|
||||
|
|
@ -174,7 +176,7 @@ private[akka] class SubFusingActorMaterializerImpl(val delegate: ExtendedActorMa
|
|||
@InternalApi private[akka] class StreamSupervisor(settings: ActorMaterializerSettings, haveShutDown: AtomicBoolean) extends Actor {
|
||||
import akka.stream.impl.StreamSupervisor._
|
||||
|
||||
override def supervisorStrategy = SupervisorStrategy.stoppingStrategy
|
||||
override def supervisorStrategy: SupervisorStrategy = SupervisorStrategy.stoppingStrategy
|
||||
|
||||
def receive = {
|
||||
case Materialize(props, name) ⇒
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue