move Typed ActorMaterializer to scaladsl/javadsl, #24868

* add type alias for typed ActorMaterializer
* name it ActorMaterializerFactory in javadsl

Migration guide:
Scala:
import akka.stream.typed.ActorMaterializer -> akka.stream.typed.scaladsl.ActorMaterializer
Java:
import akka.stream.typed.ActorMaterializer -> akka.stream.typed.javadsl.ActorMaterializerFactory
This commit is contained in:
Patrik Nordwall 2018-05-21 16:05:09 +02:00 committed by Johan Andrén
parent 989a80d90f
commit 52f24e5174
10 changed files with 55 additions and 31 deletions

View file

@ -2,31 +2,16 @@
* Copyright (C) 2018 Lightbend Inc. <https://www.lightbend.com>
*/
package akka.stream.typed
package akka.stream.typed.javadsl
import akka.actor.typed.ActorSystem
import akka.stream.ActorMaterializerSettings
object ActorMaterializer {
object ActorMaterializerFactory {
import akka.actor.typed.scaladsl.adapter._
/**
* Scala API: Creates an ActorMaterializer which will execute every step of a transformation
* pipeline within its own [[akka.actor.Actor]]. The required [[akka.actor.typed.ActorSystem]]
* will be used to create one actor that in turn creates actors for the transformation steps.
*
* The materializer's [[akka.stream.ActorMaterializerSettings]] will be obtained from the
* configuration of the `context`'s underlying [[akka.actor.typed.ActorSystem]].
*
* The `namePrefix` is used as the first part of the names of the actors running
* the processing steps. The default `namePrefix` is `"flow"`. The actor names are built up of
* `namePrefix-flowNumber-flowStepNumber-stepName`.
*/
def apply[T](materializerSettings: Option[ActorMaterializerSettings] = None, namePrefix: Option[String] = None)(implicit actorSystem: ActorSystem[T]): akka.stream.ActorMaterializer =
akka.stream.ActorMaterializer(materializerSettings, namePrefix)(actorSystem.toUntyped)
/**
* Java API: Creates an ActorMaterializer which will execute every step of a transformation
* Creates an `ActorMaterializer` which will execute every step of a transformation
* pipeline within its own [[akka.actor.Actor]]. The required [[akka.actor.typed.ActorSystem]]
* will be used to create these actors, therefore it is *forbidden* to pass this object
* to another actor if the factory is an ActorContext.
@ -35,18 +20,18 @@ object ActorMaterializer {
* The actor names are built up of `namePrefix-flowNumber-flowStepNumber-stepName`.
*/
def create[T](actorSystem: ActorSystem[T]): akka.stream.ActorMaterializer =
apply()(actorSystem)
akka.stream.ActorMaterializer.create(actorSystem.toUntyped)
/**
* Java API: Creates an ActorMaterializer which will execute every step of a transformation
* Creates an `ActorMaterializer` which will execute every step of a transformation
* pipeline within its own [[akka.actor.Actor]]. The required [[akka.actor.typed.ActorSystem]]
* will be used to create one actor that in turn creates actors for the transformation steps.
*/
def create[T](settings: ActorMaterializerSettings, actorSystem: ActorSystem[T]): akka.stream.ActorMaterializer =
apply(Option(settings), None)(actorSystem)
akka.stream.ActorMaterializer.create(settings, actorSystem.toUntyped)
/**
* Java API: Creates an ActorMaterializer which will execute every step of a transformation
* Creates an `ActorMaterializer` which will execute every step of a transformation
* pipeline within its own [[akka.actor.Actor]]. The required [[akka.actor.typed.ActorSystem]]
* will be used to create these actors, therefore it is *forbidden* to pass this object
* to another actor if the factory is an ActorContext.
@ -56,6 +41,6 @@ object ActorMaterializer {
* `namePrefix-flowNumber-flowStepNumber-stepName`.
*/
def create[T](settings: ActorMaterializerSettings, namePrefix: String, actorSystem: ActorSystem[T]): akka.stream.ActorMaterializer =
apply(Option(settings), Option(namePrefix))(actorSystem)
akka.stream.ActorMaterializer.create(settings, actorSystem.toUntyped, namePrefix)
}

View file

@ -0,0 +1,9 @@
/**
* Copyright (C) 2018 Lightbend Inc. <https://www.lightbend.com>
*/
package akka.stream.typed
package object scaladsl {
type ActorMaterializer = akka.stream.ActorMaterializer
}

View file

@ -0,0 +1,28 @@
/**
* Copyright (C) 2018 Lightbend Inc. <https://www.lightbend.com>
*/
package akka.stream.typed.scaladsl
import akka.actor.typed.ActorSystem
import akka.stream.ActorMaterializerSettings
object ActorMaterializer {
import akka.actor.typed.scaladsl.adapter._
/**
* Creates an `ActorMaterializer` which will execute every step of a transformation
* pipeline within its own [[akka.actor.Actor]]. The required [[akka.actor.typed.ActorSystem]]
* will be used to create one actor that in turn creates actors for the transformation steps.
*
* The materializer's [[akka.stream.ActorMaterializerSettings]] will be obtained from the
* configuration of the `context`'s underlying [[akka.actor.typed.ActorSystem]].
*
* The `namePrefix` is used as the first part of the names of the actors running
* the processing steps. The default `namePrefix` is `"flow"`. The actor names are built up of
* `namePrefix-flowNumber-flowStepNumber-stepName`.
*/
def apply[T](materializerSettings: Option[ActorMaterializerSettings] = None, namePrefix: Option[String] = None)(implicit actorSystem: ActorSystem[T]): ActorMaterializer =
akka.stream.ActorMaterializer(materializerSettings, namePrefix)(actorSystem.toUntyped)
}

View file

@ -25,7 +25,7 @@ public class ActorFlowCompileTest {
{
final ActorSystem<String> system = null;
final ActorMaterializer mat = akka.stream.typed.ActorMaterializer.create(system);
final ActorMaterializer mat = ActorMaterializerFactory.create(system);
}
static

View file

@ -24,7 +24,7 @@ public class ActorSourceSinkCompileTest {
{
final ActorSystem<String> system = null;
final ActorMaterializer mat = akka.stream.typed.ActorMaterializer.create(system);
final ActorMaterializer mat = ActorMaterializerFactory.create(system);
}
{

View file

@ -5,7 +5,7 @@
package akka.stream.typed.scaladsl
//#imports
import akka.stream.typed.ActorMaterializer
import akka.stream.typed.scaladsl.ActorMaterializer
import akka.stream.scaladsl._
import akka.actor.typed.ActorRef

View file

@ -11,7 +11,6 @@ import akka.stream.OverflowStrategy
import akka.stream.scaladsl.Keep
import akka.stream.scaladsl.Sink
import akka.stream.scaladsl.Source
import akka.stream.typed.ActorMaterializer
import akka.actor.testkit.typed.scaladsl.{ ActorTestKit, _ }
object ActorSourceSinkSpec {

View file

@ -10,7 +10,6 @@ import akka.actor.typed.TypedAkkaSpecWithShutdown
import akka.actor.typed.scaladsl.Behaviors
import akka.stream.scaladsl.Sink
import akka.stream.scaladsl.Source
import akka.stream.typed.ActorMaterializer
import akka.actor.testkit.typed.scaladsl.ActorTestKit
object CustomGuardianAndMaterializerSpec {

View file

@ -5,11 +5,14 @@
package docs.akka.stream.typed
import akka.NotUsed
import akka.stream.ActorMaterializer
import akka.actor.typed.ActorSystem
import akka.stream.typed.scaladsl.ActorMaterializer
object ActorSourceSinkExample {
implicit val mat: ActorMaterializer = ???
val system: ActorSystem[_] = ???
implicit val mat: ActorMaterializer = ActorMaterializer()(system)
{
// #actor-source-ref