diff --git a/akka-docs/src/test/scala/docs/actor/ActorDocSpec.scala b/akka-docs/src/test/scala/docs/actor/ActorDocSpec.scala index 8362b3f01f..e934dd911b 100644 --- a/akka-docs/src/test/scala/docs/actor/ActorDocSpec.scala +++ b/akka-docs/src/test/scala/docs/actor/ActorDocSpec.scala @@ -41,7 +41,7 @@ final case class Message(s: String) //#context-actorOf class FirstActor extends Actor { - val child = context.actorOf(Props[MyActor], name = "myChild") + val child = context.actorOf(Props[MyActor](), name = "myChild") //#plus-some-behavior def receive = { case x => sender() ! x @@ -124,7 +124,7 @@ class Hook extends Actor { var child: ActorRef = _ //#preStart override def preStart(): Unit = { - child = context.actorOf(Props[MyActor], "child") + child = context.actorOf(Props[MyActor](), "child") } //#preStart def receive = Actor.emptyBehavior @@ -182,7 +182,7 @@ object Manager { class Manager extends Actor { import Manager._ - val worker = context.watch(context.actorOf(Props[Cruncher], "worker")) + val worker = context.watch(context.actorOf(Props[Cruncher](), "worker")) def receive = { case "job" => worker ! "crunch" @@ -224,7 +224,7 @@ class Swapper extends Actor { object SwapperApp extends App { val system = ActorSystem("SwapperSystem") - val swap = system.actorOf(Props[Swapper], name = "swapper") + val swap = system.actorOf(Props[Swapper](), name = "swapper") swap ! Swap // logs Hi swap ! Swap // logs Ho swap ! Swap // logs Hi @@ -328,7 +328,7 @@ class ActorDocSpec extends AkkaSpec(""" //#import-context class FirstActor extends Actor { import context._ - val myActor = actorOf(Props[MyActor], name = "myactor") + val myActor = actorOf(Props[MyActor](), name = "myactor") def receive = { case x => myActor ! x } @@ -341,7 +341,7 @@ class ActorDocSpec extends AkkaSpec(""" } "creating actor with system.actorOf" in { - val myActor = system.actorOf(Props[MyActor]) + val myActor = system.actorOf(Props[MyActor]()) // testing the actor @@ -369,7 +369,7 @@ class ActorDocSpec extends AkkaSpec(""" //#fiddle_code val system = ActorSystem("pingpong") - val pinger = system.actorOf(Props[Pinger], "pinger") + val pinger = system.actorOf(Props[Pinger](), "pinger") val ponger = system.actorOf(Props(classOf[Ponger], pinger), "ponger") @@ -397,7 +397,7 @@ class ActorDocSpec extends AkkaSpec(""" } "use poison pill" in { - val victim = system.actorOf(Props[MyActor]) + val victim = system.actorOf(Props[MyActor]()) //#poison-pill watch(victim) victim ! PoisonPill @@ -409,7 +409,7 @@ class ActorDocSpec extends AkkaSpec(""" //#creating-props import akka.actor.Props - val props1 = Props[MyActor] + val props1 = Props[MyActor]() val props2 = Props(new ActorWithArgs("arg")) // careful, see below val props3 = Props(classOf[ActorWithArgs], "arg") // no support for value class arguments //#creating-props @@ -427,7 +427,7 @@ class ActorDocSpec extends AkkaSpec(""" // ActorSystem is a heavy object: create only one per application val system = ActorSystem("mySystem") - val myActor = system.actorOf(Props[MyActor], "myactor2") + val myActor = system.actorOf(Props[MyActor](), "myactor2") //#system-actorOf shutdown(system) } @@ -480,7 +480,7 @@ class ActorDocSpec extends AkkaSpec(""" } "using implicit timeout" in { - val myActor = system.actorOf(Props[FirstActor]) + val myActor = system.actorOf(Props[FirstActor]()) //#using-implicit-timeout import scala.concurrent.duration._ import akka.util.Timeout @@ -493,7 +493,7 @@ class ActorDocSpec extends AkkaSpec(""" } "using explicit timeout" in { - val myActor = system.actorOf(Props[FirstActor]) + val myActor = system.actorOf(Props[FirstActor]()) //#using-explicit-timeout import scala.concurrent.duration._ import akka.pattern.ask @@ -658,7 +658,7 @@ class ActorDocSpec extends AkkaSpec(""" } "using pattern gracefulStop" in { - val actorRef = system.actorOf(Props[Manager]) + val actorRef = system.actorOf(Props[Manager]()) //#gracefulStop import akka.pattern.gracefulStop import scala.concurrent.Await diff --git a/akka-docs/src/test/scala/docs/actor/FSMDocSpec.scala b/akka-docs/src/test/scala/docs/actor/FSMDocSpec.scala index 374da29473..580581509e 100644 --- a/akka-docs/src/test/scala/docs/actor/FSMDocSpec.scala +++ b/akka-docs/src/test/scala/docs/actor/FSMDocSpec.scala @@ -56,7 +56,7 @@ class FSMDocSpec extends MyFavoriteTestFrameWorkPlusAkkaTestKit { //#when-syntax when(Idle) { case Event(SetTarget(ref), Uninitialized) => - stay.using(Todo(ref, Vector.empty)) + stay().using(Todo(ref, Vector.empty)) } //#when-syntax @@ -85,7 +85,7 @@ class FSMDocSpec extends MyFavoriteTestFrameWorkPlusAkkaTestKit { case Event(e, s) => log.warning("received unhandled request {} in state {}/{}", e, stateName, s) - stay + stay() } //#unhandled-elided //#fsm-body @@ -140,7 +140,7 @@ class FSMDocSpec extends MyFavoriteTestFrameWorkPlusAkkaTestKit { //#transform-syntax when(SomeState)(transform { - case Event(bytes: ByteString, read) => stay.using(read + bytes.length) + case Event(bytes: ByteString, read) => stay().using(read + bytes.length) }.using { case s @ FSM.State(state, read, timeout, stopReason, replies) if read > 1000 => goto(Processing) @@ -154,7 +154,7 @@ class FSMDocSpec extends MyFavoriteTestFrameWorkPlusAkkaTestKit { } when(SomeState)(transform { - case Event(bytes: ByteString, read) => stay.using(read + bytes.length) + case Event(bytes: ByteString, read) => stay().using(read + bytes.length) }.using(processingTrigger)) //#alt-transform-syntax @@ -170,7 +170,7 @@ class FSMDocSpec extends MyFavoriteTestFrameWorkPlusAkkaTestKit { whenUnhandled { case Event(x: X, data) => log.info("Received unhandled event: " + x) - stay + stay() case Event(msg, _) => log.warning("Received unknown event: " + msg) goto(Error) @@ -226,7 +226,7 @@ class FSMDocSpec extends MyFavoriteTestFrameWorkPlusAkkaTestKit { "not batch if uninitialized" in { val buncher = system.actorOf(Props(classOf[Buncher], this)) buncher ! Queue(42) - expectNoMsg + expectNoMessage() } } } diff --git a/akka-docs/src/test/scala/docs/actor/FaultHandlingDocSample.scala b/akka-docs/src/test/scala/docs/actor/FaultHandlingDocSample.scala index 86269f1f29..c77b04ce42 100644 --- a/akka-docs/src/test/scala/docs/actor/FaultHandlingDocSample.scala +++ b/akka-docs/src/test/scala/docs/actor/FaultHandlingDocSample.scala @@ -32,8 +32,8 @@ object FaultHandlingDocSample extends App { """) val system = ActorSystem("FaultToleranceSample", config) - val worker = system.actorOf(Props[Worker], name = "worker") - val listener = system.actorOf(Props[Listener], name = "listener") + val worker = system.actorOf(Props[Worker](), name = "worker") + val listener = system.actorOf(Props[Listener](), name = "listener") // start the work and listen on progress // note that the listener is used as sender of the tell, // i.e. it will receive replies from the worker @@ -90,7 +90,7 @@ class Worker extends Actor with ActorLogging { // The sender of the initial Start message will continuously be notified // about progress var progressListener: Option[ActorRef] = None - val counterService = context.actorOf(Props[CounterService], name = "counter") + val counterService = context.actorOf(Props[CounterService](), name = "counter") val totalCount = 51 import context.dispatcher // Use this Actors' Dispatcher as ExecutionContext @@ -160,7 +160,7 @@ class CounterService extends Actor { * Watch the child so we receive Terminated message when it has been terminated. */ def initStorage(): Unit = { - storage = Some(context.watch(context.actorOf(Props[Storage], name = "storage"))) + storage = Some(context.watch(context.actorOf(Props[Storage](), name = "storage"))) // Tell the counter, if any, to use the new storage counter.foreach { _ ! UseStorage(storage) } // We need the initial value to be able to operate diff --git a/akka-docs/src/test/scala/docs/actor/FaultHandlingDocSpec.scala b/akka-docs/src/test/scala/docs/actor/FaultHandlingDocSpec.scala index ca17fe3a80..c7376f0677 100644 --- a/akka-docs/src/test/scala/docs/actor/FaultHandlingDocSpec.scala +++ b/akka-docs/src/test/scala/docs/actor/FaultHandlingDocSpec.scala @@ -120,7 +120,7 @@ class FaultHandlingDocSpec(_system: ActorSystem) } """))) - override def afterAll: Unit = { + override def afterAll(): Unit = { TestKit.shutdownActorSystem(system) } @@ -129,9 +129,9 @@ class FaultHandlingDocSpec(_system: ActorSystem) //#testkit //#create - val supervisor = system.actorOf(Props[Supervisor], "supervisor") + val supervisor = system.actorOf(Props[Supervisor](), "supervisor") - supervisor ! Props[Child] + supervisor ! Props[Child]() val child = expectMsgType[ActorRef] // retrieve answer from TestKit’s testActor //#create EventFilter.warning(occurrences = 1).intercept { @@ -161,7 +161,7 @@ class FaultHandlingDocSpec(_system: ActorSystem) } EventFilter[Exception]("CRASH", occurrences = 2).intercept { //#escalate-kill - supervisor ! Props[Child] // create new child + supervisor ! Props[Child]() // create new child val child2 = expectMsgType[ActorRef] watch(child2) child2 ! "get" // verify it is alive @@ -173,9 +173,9 @@ class FaultHandlingDocSpec(_system: ActorSystem) } //#escalate-kill //#escalate-restart - val supervisor2 = system.actorOf(Props[Supervisor2], "supervisor2") + val supervisor2 = system.actorOf(Props[Supervisor2](), "supervisor2") - supervisor2 ! Props[Child] + supervisor2 ! Props[Child]() val child3 = expectMsgType[ActorRef] child3 ! 23 diff --git a/akka-docs/src/test/scala/docs/actor/InitializationDocSpec.scala b/akka-docs/src/test/scala/docs/actor/InitializationDocSpec.scala index a6bbc2b542..6d354bfacf 100644 --- a/akka-docs/src/test/scala/docs/actor/InitializationDocSpec.scala +++ b/akka-docs/src/test/scala/docs/actor/InitializationDocSpec.scala @@ -58,11 +58,11 @@ class InitializationDocSpec extends AkkaSpec with ImplicitSender { "Message based initialization example" must { "work correctly" in { - val example = system.actorOf(Props[MessageInitExample], "messageInitExample") + val example = system.actorOf(Props[MessageInitExample](), "messageInitExample") val probe = "U OK?" example ! probe - expectNoMsg() + expectNoMessage() example ! "init" example ! probe diff --git a/akka-docs/src/test/scala/docs/actor/PropsEdgeCaseSpec.scala b/akka-docs/src/test/scala/docs/actor/PropsEdgeCaseSpec.scala index 1436d1d491..f347cd1ea7 100644 --- a/akka-docs/src/test/scala/docs/actor/PropsEdgeCaseSpec.scala +++ b/akka-docs/src/test/scala/docs/actor/PropsEdgeCaseSpec.scala @@ -38,7 +38,7 @@ class PropsEdgeCaseSpec extends AnyWordSpec with CompileOnlySpec { case x: Int => sender() ! (x * b) } } - val defaultValueProp2 = Props[DefaultValueActor2] // Unsupported + val defaultValueProp2 = Props[DefaultValueActor2]() // Unsupported val defaultValueProp3 = Props(classOf[DefaultValueActor2]) // Unsupported //#props-edge-cases-default-values } diff --git a/akka-docs/src/test/scala/docs/actor/UnnestedReceives.scala b/akka-docs/src/test/scala/docs/actor/UnnestedReceives.scala index a070a5b3c4..3f91a7b292 100644 --- a/akka-docs/src/test/scala/docs/actor/UnnestedReceives.scala +++ b/akka-docs/src/test/scala/docs/actor/UnnestedReceives.scala @@ -11,7 +11,7 @@ import scala.collection.mutable.ListBuffer * Requirements are as follows: * The first thing the actor needs to do, is to subscribe to a channel of events, * Then it must replay (process) all "old" events - * Then it has to wait for a GoAhead signal to begin processing the new events + * Then it has to wait for a GoAhead message to begin processing the new events * It mustn't "miss" events that happen between catching up with the old events and getting the GoAhead signal */ class UnnestedReceives extends Actor { @@ -26,21 +26,21 @@ class UnnestedReceives extends Actor { //This method retrieves all prior messages/events def allOldMessages() = List() - override def preStart: Unit = { + override def preStart(): Unit = { //We override preStart to be sure that the first message the actor gets is - //'Replay, that message will start to be processed _after_ the actor is started - self ! 'Replay + //Replay, that message will start to be processed _after_ the actor is started + self ! "Replay" //Then we subscribe to the stream of messages/events subscribe() } def receive = { - case 'Replay => //Our first message should be a 'Replay message, all others are invalid + case "Replay" => //Our first message should be a Replay message, all others are invalid allOldMessages().foreach(process) //Process all old messages/events become { //Switch behavior to look for the GoAhead signal - case 'GoAhead => //When we get the GoAhead signal we process all our buffered messages/events + case "GoAhead" => //When we get the GoAhead signal we process all our buffered messages/events queue.foreach(process) - queue.clear + queue.clear() become { //Then we change behavior to process incoming messages/events as they arrive case msg => process(msg) } diff --git a/akka-docs/src/test/scala/docs/actor/typed/CoordinatedActorShutdownSpec.scala b/akka-docs/src/test/scala/docs/actor/typed/CoordinatedActorShutdownSpec.scala index c8728c27ed..b0d33fff61 100644 --- a/akka-docs/src/test/scala/docs/actor/typed/CoordinatedActorShutdownSpec.scala +++ b/akka-docs/src/test/scala/docs/actor/typed/CoordinatedActorShutdownSpec.scala @@ -51,7 +51,7 @@ class CoordinatedActorShutdownSpec { } - def showCancel: Unit = { + def showCancel(): Unit = { val system = ActorSystem(root, "main") def cleanup(): Unit = {} diff --git a/akka-docs/src/test/scala/docs/cluster/FactorialBackend.scala b/akka-docs/src/test/scala/docs/cluster/FactorialBackend.scala index c843dbc100..43d83ca107 100644 --- a/akka-docs/src/test/scala/docs/cluster/FactorialBackend.scala +++ b/akka-docs/src/test/scala/docs/cluster/FactorialBackend.scala @@ -48,8 +48,8 @@ object FactorialBackend { .withFallback(ConfigFactory.load("factorial")) val system = ActorSystem("ClusterSystem", config) - system.actorOf(Props[FactorialBackend], name = "factorialBackend") + system.actorOf(Props[FactorialBackend](), name = "factorialBackend") - system.actorOf(Props[MetricsListener], name = "metricsListener") + system.actorOf(Props[MetricsListener](), name = "metricsListener") } } diff --git a/akka-docs/src/test/scala/docs/cluster/FactorialFrontend.scala b/akka-docs/src/test/scala/docs/cluster/FactorialFrontend.scala index e0d4619e09..40716480fd 100644 --- a/akka-docs/src/test/scala/docs/cluster/FactorialFrontend.scala +++ b/akka-docs/src/test/scala/docs/cluster/FactorialFrontend.scala @@ -101,7 +101,7 @@ abstract class FactorialFrontend3 extends Actor { totalInstances = 100, maxInstancesPerNode = 3, allowLocalRoutees = false, - useRoles = Set("backend"))).props(Props[FactorialBackend]), + useRoles = Set("backend"))).props(Props[FactorialBackend]()), name = "factorialBackendRouter3") //#router-deploy-in-code } diff --git a/akka-docs/src/test/scala/docs/cluster/TransformationBackend.scala b/akka-docs/src/test/scala/docs/cluster/TransformationBackend.scala index 7dac97c585..73be2bbfad 100644 --- a/akka-docs/src/test/scala/docs/cluster/TransformationBackend.scala +++ b/akka-docs/src/test/scala/docs/cluster/TransformationBackend.scala @@ -52,6 +52,6 @@ object TransformationBackend { .withFallback(ConfigFactory.load()) val system = ActorSystem("ClusterSystem", config) - system.actorOf(Props[TransformationBackend], name = "backend") + system.actorOf(Props[TransformationBackend](), name = "backend") } } diff --git a/akka-docs/src/test/scala/docs/cluster/TransformationFrontend.scala b/akka-docs/src/test/scala/docs/cluster/TransformationFrontend.scala index 25a6a4a92c..71f328c0c0 100644 --- a/akka-docs/src/test/scala/docs/cluster/TransformationFrontend.scala +++ b/akka-docs/src/test/scala/docs/cluster/TransformationFrontend.scala @@ -51,7 +51,7 @@ object TransformationFrontend { .withFallback(ConfigFactory.load()) val system = ActorSystem("ClusterSystem", config) - val frontend = system.actorOf(Props[TransformationFrontend], name = "frontend") + val frontend = system.actorOf(Props[TransformationFrontend](), name = "frontend") val counter = new AtomicInteger import system.dispatcher diff --git a/akka-docs/src/test/scala/docs/coordination/LeaseDocSpec.scala b/akka-docs/src/test/scala/docs/coordination/LeaseDocSpec.scala index f1f2116081..d2f14053dc 100644 --- a/akka-docs/src/test/scala/docs/coordination/LeaseDocSpec.scala +++ b/akka-docs/src/test/scala/docs/coordination/LeaseDocSpec.scala @@ -37,7 +37,7 @@ class SampleLease(settings: LeaseSettings) extends Lease(settings) { object LeaseDocSpec { - def config() = + def config = ConfigFactory.parseString(""" jdocs-lease.lease-class = "jdocs.coordination.LeaseDocTest$SampleLease" #lease-config diff --git a/akka-docs/src/test/scala/docs/dispatcher/DispatcherDocSpec.scala b/akka-docs/src/test/scala/docs/dispatcher/DispatcherDocSpec.scala index dcfc566015..6f9d2d346f 100644 --- a/akka-docs/src/test/scala/docs/dispatcher/DispatcherDocSpec.scala +++ b/akka-docs/src/test/scala/docs/dispatcher/DispatcherDocSpec.scala @@ -240,11 +240,11 @@ object DispatcherDocSpec { extends UnboundedStablePriorityMailbox( // Create a new PriorityGenerator, lower prio means more important PriorityGenerator { - // 'highpriority messages should be treated first if possible - case 'highpriority => 0 + // highpriority messages should be treated first if possible + case "highpriority" => 0 - // 'lowpriority messages should be treated last if possible - case 'lowpriority => 2 + // lowpriority messages should be treated last if possible + case "lowpriority" => 2 // PoisonPill when no other left case PoisonPill => 3 @@ -293,7 +293,7 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { val context = system //#defining-dispatcher-in-config import akka.actor.Props - val myActor = context.actorOf(Props[MyActor], "myactor") + val myActor = context.actorOf(Props[MyActor](), "myactor") //#defining-dispatcher-in-config } @@ -302,7 +302,7 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { //#defining-dispatcher-in-code import akka.actor.Props val myActor = - context.actorOf(Props[MyActor].withDispatcher("my-dispatcher"), "myactor1") + context.actorOf(Props[MyActor]().withDispatcher("my-dispatcher"), "myactor1") //#defining-dispatcher-in-code } @@ -314,7 +314,7 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { val context = system //#defining-fixed-pool-size-dispatcher val myActor = - context.actorOf(Props[MyActor].withDispatcher("blocking-io-dispatcher"), "myactor2") + context.actorOf(Props[MyActor]().withDispatcher("blocking-io-dispatcher"), "myactor2") //#defining-fixed-pool-size-dispatcher } @@ -322,7 +322,7 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { val context = system //#defining-pinned-dispatcher val myActor = - context.actorOf(Props[MyActor].withDispatcher("my-pinned-dispatcher"), "myactor3") + context.actorOf(Props[MyActor]().withDispatcher("my-pinned-dispatcher"), "myactor3") //#defining-pinned-dispatcher } @@ -330,7 +330,7 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { val context = system //#defining-affinity-pool-dispatcher val myActor = - context.actorOf(Props[MyActor].withDispatcher("affinity-pool-dispatcher"), "myactor4") + context.actorOf(Props[MyActor]().withDispatcher("affinity-pool-dispatcher"), "myactor4") //#defining-affinity-pool-dispatcher } @@ -345,7 +345,7 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { val context = system //#defining-mailbox-in-config import akka.actor.Props - val myActor = context.actorOf(Props[MyActor], "priomailboxactor") + val myActor = context.actorOf(Props[MyActor](), "priomailboxactor") //#defining-mailbox-in-config } @@ -353,13 +353,13 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { val context = system //#defining-mailbox-in-code import akka.actor.Props - val myActor = context.actorOf(Props[MyActor].withMailbox("prio-mailbox")) + val myActor = context.actorOf(Props[MyActor]().withMailbox("prio-mailbox")) //#defining-mailbox-in-code } "using a required mailbox" in { val context = system - val myActor = context.actorOf(Props[MyBoundedActor]) + val myActor = context.actorOf(Props[MyBoundedActor]()) } "defining priority dispatcher" in { @@ -370,13 +370,14 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { class Logger extends Actor { val log: LoggingAdapter = Logging(context.system, this) - self ! 'lowpriority - self ! 'lowpriority - self ! 'highpriority - self ! 'pigdog - self ! 'pigdog2 - self ! 'pigdog3 - self ! 'highpriority + self ! "lowpriority" + self ! "lowpriority" + self ! "highpriority" + self ! "pigdog" + self ! "pigdog2" + self ! "pigdog3" + self ! "highpriority" + self ! PoisonPill def receive = { @@ -387,13 +388,13 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { /* * Logs: - * 'highpriority - * 'highpriority - * 'pigdog - * 'pigdog2 - * 'pigdog3 - * 'lowpriority - * 'lowpriority + * highpriority + * highpriority + * pigdog + * pigdog2 + * pigdog3 + * lowpriority + * lowpriority */ //#prio-dispatcher @@ -410,8 +411,8 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { class Logger extends Actor { val log: LoggingAdapter = Logging(context.system, this) - self ! 'foo - self ! 'bar + self ! "foo" + self ! "bar" self ! MyControlMessage self ! PoisonPill @@ -424,8 +425,8 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { /* * Logs: * MyControlMessage - * 'foo - * 'bar + * foo + * bar */ //#control-aware-dispatcher @@ -435,11 +436,11 @@ class DispatcherDocSpec extends AkkaSpec(DispatcherDocSpec.config) { } "require custom mailbox on dispatcher" in { - val myActor = system.actorOf(Props[MyActor].withDispatcher("custom-dispatcher")) + val myActor = system.actorOf(Props[MyActor]().withDispatcher("custom-dispatcher")) } "require custom mailbox on actor" in { - val myActor = system.actorOf(Props[MySpecialActor]) + val myActor = system.actorOf(Props[MySpecialActor]()) } } diff --git a/akka-docs/src/test/scala/docs/event/EventBusDocSpec.scala b/akka-docs/src/test/scala/docs/event/EventBusDocSpec.scala index d320cdbb55..7f0f1593d4 100644 --- a/akka-docs/src/test/scala/docs/event/EventBusDocSpec.scala +++ b/akka-docs/src/test/scala/docs/event/EventBusDocSpec.scala @@ -42,7 +42,7 @@ object EventBusDocSpec { // determines the initial size of the index data structure // used internally (i.e. the expected number of different classifiers) - override protected def mapSize: Int = 128 + override protected def mapSize(): Int = 128 } @@ -199,7 +199,7 @@ class EventBusDocSpec extends AkkaSpec { probe2.expectMsg(Notification(observer1, 100)) actorBus.publish(Notification(observer2, 101)) probe2.expectMsg(Notification(observer2, 101)) - probe1.expectNoMsg(500.millis) + probe1.expectNoMessage(500.millis) //#actor-bus-test } } diff --git a/akka-docs/src/test/scala/docs/event/LoggingDocSpec.scala b/akka-docs/src/test/scala/docs/event/LoggingDocSpec.scala index d146177257..35f9cf5598 100644 --- a/akka-docs/src/test/scala/docs/event/LoggingDocSpec.scala +++ b/akka-docs/src/test/scala/docs/event/LoggingDocSpec.scala @@ -146,17 +146,17 @@ class LoggingDocSpec extends AkkaSpec { import LoggingDocSpec.{ MdcActor, MdcActorMixin, MyActor, Req } "use a logging actor" in { - val myActor = system.actorOf(Props[MyActor]) + val myActor = system.actorOf(Props[MyActor]()) myActor ! "test" } "use a MDC logging actor" in { - val mdcActor = system.actorOf(Props[MdcActor]) + val mdcActor = system.actorOf(Props[MdcActor]()) mdcActor ! "some request" } "use a MDC logging actor by mixin" in { - val mdcActor = system.actorOf(Props[MdcActorMixin]) + val mdcActor = system.actorOf(Props[MdcActorMixin]()) mdcActor ! Req("some request", 5678) } @@ -164,7 +164,7 @@ class LoggingDocSpec extends AkkaSpec { import LoggingDocSpec.Listeners._ //#deadletters - val listener = system.actorOf(Props[DeadLetterListener]) + val listener = system.actorOf(Props[DeadLetterListener]()) system.eventStream.subscribe(listener, classOf[DeadLetter]) //#deadletters } @@ -173,8 +173,8 @@ class LoggingDocSpec extends AkkaSpec { import LoggingDocSpec.Listeners._ //#superclass-subscription-eventstream - val jazzListener = system.actorOf(Props[Listener]) - val musicListener = system.actorOf(Props[Listener]) + val jazzListener = system.actorOf(Props[Listener]()) + val musicListener = system.actorOf(Props[Listener]()) system.eventStream.subscribe(jazzListener, classOf[Jazz]) system.eventStream.subscribe(musicListener, classOf[AllKindsOfMusic]) @@ -188,7 +188,7 @@ class LoggingDocSpec extends AkkaSpec { "allow registration to suppressed dead letters" in { import akka.actor.Props - val listener = system.actorOf(Props[MyActor]) + val listener = system.actorOf(Props[MyActor]()) //#suppressed-deadletters import akka.actor.SuppressedDeadLetter diff --git a/akka-docs/src/test/scala/docs/extension/ExtensionDocSpec.scala b/akka-docs/src/test/scala/docs/extension/ExtensionDocSpec.scala index 746269fdde..64fdac559a 100644 --- a/akka-docs/src/test/scala/docs/extension/ExtensionDocSpec.scala +++ b/akka-docs/src/test/scala/docs/extension/ExtensionDocSpec.scala @@ -85,7 +85,7 @@ class ExtensionDocSpec extends AkkaSpec(ExtensionDocSpec.config) { "demonstrate how to create an extension in Scala" in { //#extension-usage - CountExtension(system).increment + CountExtension(system).increment() //#extension-usage } diff --git a/akka-docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala b/akka-docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala index 47836852b6..7da9f30f6f 100644 --- a/akka-docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala +++ b/akka-docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala @@ -26,7 +26,7 @@ import akka.testkit.AkkaSpec class SettingsImpl(config: Config) extends Extension { val DbUri: String = config.getString("myapp.db.uri") val CircuitBreakerTimeout: Duration = - Duration(config.getMilliseconds("myapp.circuit-breaker.timeout"), TimeUnit.MILLISECONDS) + Duration(config.getDuration("myapp.circuit-breaker.timeout", TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS) } //#extension diff --git a/akka-docs/src/test/scala/docs/future/FutureDocSpec.scala b/akka-docs/src/test/scala/docs/future/FutureDocSpec.scala index a3b76b1bc2..5e0fe074f3 100644 --- a/akka-docs/src/test/scala/docs/future/FutureDocSpec.scala +++ b/akka-docs/src/test/scala/docs/future/FutureDocSpec.scala @@ -150,7 +150,7 @@ class FutureDocSpec extends AkkaSpec { } "demonstrate usage of blocking from actor" in { - val actor = system.actorOf(Props[MyActor]) + val actor = system.actorOf(Props[MyActor]()) val msg = "hello" //#ask-blocking import scala.concurrent.Await @@ -167,7 +167,7 @@ class FutureDocSpec extends AkkaSpec { } "demonstrate usage of mapTo" in { - val actor = system.actorOf(Props[MyActor]) + val actor = system.actorOf(Props[MyActor]()) val msg = "hello" implicit val timeout = Timeout(5 seconds) //#map-to @@ -280,9 +280,9 @@ class FutureDocSpec extends AkkaSpec { } "demonstrate wrong way of composing" in { - val actor1 = system.actorOf(Props[MyActor]) - val actor2 = system.actorOf(Props[MyActor]) - val actor3 = system.actorOf(Props[MyActor]) + val actor1 = system.actorOf(Props[MyActor]()) + val actor2 = system.actorOf(Props[MyActor]()) + val actor3 = system.actorOf(Props[MyActor]()) val msg1 = 1 val msg2 = 2 implicit val timeout = Timeout(5 seconds) @@ -304,9 +304,9 @@ class FutureDocSpec extends AkkaSpec { } "demonstrate composing" in { - val actor1 = system.actorOf(Props[MyActor]) - val actor2 = system.actorOf(Props[MyActor]) - val actor3 = system.actorOf(Props[MyActor]) + val actor1 = system.actorOf(Props[MyActor]()) + val actor2 = system.actorOf(Props[MyActor]()) + val actor3 = system.actorOf(Props[MyActor]()) val msg1 = 1 val msg2 = 2 implicit val timeout = Timeout(5 seconds) @@ -331,7 +331,7 @@ class FutureDocSpec extends AkkaSpec { "demonstrate usage of sequence with actors" in { implicit val timeout = Timeout(5 seconds) - val oddActor = system.actorOf(Props[OddActor]) + val oddActor = system.actorOf(Props[OddActor]()) //#sequence-ask // oddActor returns odd numbers sequentially from 1 as a List[Future[Int]] val listOfFutures = List.fill(100)(akka.pattern.ask(oddActor, GetNext).mapTo[Int]) @@ -368,7 +368,7 @@ class FutureDocSpec extends AkkaSpec { //#fold // Create a sequence of Futures val futures = for (i <- 1 to 1000) yield Future(i * 2) - val futureSum = Future.fold(futures)(0)(_ + _) + val futureSum = Future.foldLeft(futures)(0)(_ + _) futureSum.foreach(println) //#fold Await.result(futureSum, 3 seconds) should be(1001000) @@ -378,7 +378,7 @@ class FutureDocSpec extends AkkaSpec { //#reduce // Create a sequence of Futures val futures = for (i <- 1 to 1000) yield Future(i * 2) - val futureSum = Future.reduce(futures)(_ + _) + val futureSum = Future.reduceLeft(futures)(_ + _) futureSum.foreach(println) //#reduce Await.result(futureSum, 3 seconds) should be(1001000) @@ -386,7 +386,7 @@ class FutureDocSpec extends AkkaSpec { "demonstrate usage of recover" in { implicit val timeout = Timeout(5 seconds) - val actor = system.actorOf(Props[MyActor]) + val actor = system.actorOf(Props[MyActor]()) val msg1 = -1 //#recover val future = akka.pattern.ask(actor, msg1).recover { @@ -399,7 +399,7 @@ class FutureDocSpec extends AkkaSpec { "demonstrate usage of recoverWith" in { implicit val timeout = Timeout(5 seconds) - val actor = system.actorOf(Props[MyActor]) + val actor = system.actorOf(Props[MyActor]()) val msg1 = -1 //#try-recover val future = akka.pattern.ask(actor, msg1).recoverWith { diff --git a/akka-docs/src/test/scala/docs/io/IODocSpec.scala b/akka-docs/src/test/scala/docs/io/IODocSpec.scala index 248bb09695..abd7456659 100644 --- a/akka-docs/src/test/scala/docs/io/IODocSpec.scala +++ b/akka-docs/src/test/scala/docs/io/IODocSpec.scala @@ -45,7 +45,7 @@ class Server extends Actor { //#server context.parent ! c //#server - val handler = context.actorOf(Props[SimplisticHandler]) + val handler = context.actorOf(Props[SimplisticHandler]()) val connection = sender() connection ! Register(handler) } @@ -106,7 +106,7 @@ class Client(remote: InetSocketAddress, listener: ActorRef) extends Actor { class IODocSpec extends AkkaSpec { class Parent extends Actor { - context.actorOf(Props[Server], "server") + context.actorOf(Props[Server](), "server") def receive = { case msg => testActor.forward(msg) } diff --git a/akka-docs/src/test/scala/docs/io/ReadBackPressure.scala b/akka-docs/src/test/scala/docs/io/ReadBackPressure.scala index ff1e106c34..a669794ffc 100644 --- a/akka-docs/src/test/scala/docs/io/ReadBackPressure.scala +++ b/akka-docs/src/test/scala/docs/io/ReadBackPressure.scala @@ -20,7 +20,7 @@ object PullReadingExample { import context.system - override def preStart: Unit = + override def preStart(): Unit = //#pull-mode-bind IO(Tcp) ! Bind(self, new InetSocketAddress("localhost", 0), pullMode = true) //#pull-mode-bind @@ -51,7 +51,7 @@ object PullReadingExample { class PullEcho(connection: ActorRef) extends Actor { //#pull-reading-echo - override def preStart: Unit = connection ! ResumeReading + override def preStart(): Unit = connection ! ResumeReading def receive = { case Received(data) => connection ! Write(data, Ack) diff --git a/akka-docs/src/test/scala/docs/io/UdpDocSpec.scala b/akka-docs/src/test/scala/docs/io/UdpDocSpec.scala index 7c4a88aea0..59cb822439 100644 --- a/akka-docs/src/test/scala/docs/io/UdpDocSpec.scala +++ b/akka-docs/src/test/scala/docs/io/UdpDocSpec.scala @@ -127,7 +127,7 @@ abstract class UdpDocSpec extends AkkaSpec { listener ! Udp.SuspendReading Thread.sleep(1000) // no way to find out when the above is finished val send = system.actorOf(simpleSenderProps(local)) - probe.expectNoMsg(500.millis) + probe.expectNoMessage(500.millis) listener ! Udp.ResumeReading probe.expectMsg("hello") send ! "world" diff --git a/akka-docs/src/test/scala/docs/persistence/PersistenceEventAdapterDocSpec.scala b/akka-docs/src/test/scala/docs/persistence/PersistenceEventAdapterDocSpec.scala index 7628b8b4d9..35625a01f8 100644 --- a/akka-docs/src/test/scala/docs/persistence/PersistenceEventAdapterDocSpec.scala +++ b/akka-docs/src/test/scala/docs/persistence/PersistenceEventAdapterDocSpec.scala @@ -14,7 +14,7 @@ import scala.collection.immutable class PersistenceEventAdapterDocSpec(config: String) extends AkkaSpec(config) { - def this() { + def this() = { this(""" akka.persistence.snapshot-store.plugin = "akka.persistence.snapshot-store.local" diff --git a/akka-docs/src/test/scala/docs/persistence/PersistencePluginDocSpec.scala b/akka-docs/src/test/scala/docs/persistence/PersistencePluginDocSpec.scala index ed0f355863..6e89d7296f 100644 --- a/akka-docs/src/test/scala/docs/persistence/PersistencePluginDocSpec.scala +++ b/akka-docs/src/test/scala/docs/persistence/PersistencePluginDocSpec.scala @@ -147,7 +147,7 @@ trait SharedLeveldbPluginDocSpec { //#shared-store-creation import akka.persistence.journal.leveldb.SharedLeveldbStore - val store = system.actorOf(Props[SharedLeveldbStore], "store") + val store = system.actorOf(Props[SharedLeveldbStore](), "store") //#shared-store-creation } } diff --git a/akka-docs/src/test/scala/docs/persistence/PersistentActorExample.scala b/akka-docs/src/test/scala/docs/persistence/PersistentActorExample.scala index 690c8189c1..9e5b9b92ab 100644 --- a/akka-docs/src/test/scala/docs/persistence/PersistentActorExample.scala +++ b/akka-docs/src/test/scala/docs/persistence/PersistentActorExample.scala @@ -51,7 +51,7 @@ class ExamplePersistentActor extends PersistentActor { object PersistentActorExample extends App { val system = ActorSystem("example") - val persistentActor = system.actorOf(Props[ExamplePersistentActor], "persistentActor-4-scala") + val persistentActor = system.actorOf(Props[ExamplePersistentActor](), "persistentActor-4-scala") persistentActor ! Cmd("foo") persistentActor ! Cmd("baz") diff --git a/akka-docs/src/test/scala/docs/persistence/query/LeveldbPersistenceQueryDocSpec.scala b/akka-docs/src/test/scala/docs/persistence/query/LeveldbPersistenceQueryDocSpec.scala index e6880d1a3d..bafdba7744 100644 --- a/akka-docs/src/test/scala/docs/persistence/query/LeveldbPersistenceQueryDocSpec.scala +++ b/akka-docs/src/test/scala/docs/persistence/query/LeveldbPersistenceQueryDocSpec.scala @@ -19,7 +19,7 @@ object LeveldbPersistenceQueryDocSpec { val colors = Set("green", "black", "blue") override def toJournal(event: Any): Any = event match { case s: String => - var tags = colors.foldLeft(Set.empty[String]) { (acc, c) => + val tags = colors.foldLeft(Set.empty[String]) { (acc, c) => if (s.contains(c)) acc + c else acc } if (tags.isEmpty) event diff --git a/akka-docs/src/test/scala/docs/persistence/query/MyEventsByTagSource.scala b/akka-docs/src/test/scala/docs/persistence/query/MyEventsByTagSource.scala index cddc4d9edc..2d5a872a51 100644 --- a/akka-docs/src/test/scala/docs/persistence/query/MyEventsByTagSource.scala +++ b/akka-docs/src/test/scala/docs/persistence/query/MyEventsByTagSource.scala @@ -40,7 +40,7 @@ class MyEventsByTagSource(tag: String, offset: Long, refreshInterval: FiniteDura tryPush() } - override def onDownstreamFinish(): Unit = { + override def onDownstreamFinish(cause: Throwable): Unit = { // close connection if responsible for doing so } @@ -94,7 +94,8 @@ class MyEventsByTagSource(tag: String, offset: Long, refreshInterval: FiniteDura Offset.sequence(currentOffset), rs.getString("persistence_id"), rs.getLong("seq_nr"), - deserialized) + deserialized, + System.currentTimeMillis()) } b.result() } finally s.close() diff --git a/akka-docs/src/test/scala/docs/persistence/query/PersistenceQueryDocSpec.scala b/akka-docs/src/test/scala/docs/persistence/query/PersistenceQueryDocSpec.scala index 172247ec3e..c845922842 100644 --- a/akka-docs/src/test/scala/docs/persistence/query/PersistenceQueryDocSpec.scala +++ b/akka-docs/src/test/scala/docs/persistence/query/PersistenceQueryDocSpec.scala @@ -199,7 +199,7 @@ object PersistenceQueryDocSpec { class PersistenceQueryDocSpec(s: String) extends AkkaSpec(s) { import PersistenceQueryDocSpec._ - def this() { + def this() = { this(""" akka.persistence.query.my-read-journal { class = "docs.persistence.query.PersistenceQueryDocSpec$MyReadJournalProvider" diff --git a/akka-docs/src/test/scala/docs/persistence/testkit/PersistenceInitSpec.scala b/akka-docs/src/test/scala/docs/persistence/testkit/PersistenceInitSpec.scala index 24227b270e..07c0075394 100644 --- a/akka-docs/src/test/scala/docs/persistence/testkit/PersistenceInitSpec.scala +++ b/akka-docs/src/test/scala/docs/persistence/testkit/PersistenceInitSpec.scala @@ -4,6 +4,8 @@ package docs.persistence.testkit +import java.util.UUID + import akka.Done import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit import org.scalatest.wordspec.AnyWordSpecLike @@ -17,14 +19,11 @@ import scala.concurrent.duration._ //#imports -class PersistenceInitSpec - extends ScalaTestWithActorTestKit( - """ +class PersistenceInitSpec extends ScalaTestWithActorTestKit(s""" akka.persistence.journal.plugin = "akka.persistence.journal.inmem" akka.persistence.snapshot-store.plugin = "akka.persistence.snapshot-store.local" akka.persistence.snapshot-store.local.dir = "target/snapshot-${UUID.randomUUID().toString}" - """) - with AnyWordSpecLike { + """) with AnyWordSpecLike { "PersistenceInit" should { "initialize plugins" in { diff --git a/akka-docs/src/test/scala/docs/remoting/RemoteDeploymentDocSpec.scala b/akka-docs/src/test/scala/docs/remoting/RemoteDeploymentDocSpec.scala index 41c097a5ba..aa35b46327 100644 --- a/akka-docs/src/test/scala/docs/remoting/RemoteDeploymentDocSpec.scala +++ b/akka-docs/src/test/scala/docs/remoting/RemoteDeploymentDocSpec.scala @@ -36,7 +36,7 @@ class RemoteDeploymentDocSpec extends AkkaSpec(""" "demonstrate programmatic deployment" in { //#deploy - val ref = system.actorOf(Props[SampleActor].withDeploy(Deploy(scope = RemoteScope(address)))) + val ref = system.actorOf(Props[SampleActor]().withDeploy(Deploy(scope = RemoteScope(address)))) //#deploy ref.path.address should be(address) ref ! "test" @@ -61,7 +61,7 @@ class RemoteDeploymentDocSpec extends AkkaSpec(""" "demonstrate sampleActor" in { //#sample-actor - val actor = system.actorOf(Props[SampleActor], "sampleActor") + val actor = system.actorOf(Props[SampleActor](), "sampleActor") actor ! "Pretty slick" //#sample-actor } diff --git a/akka-docs/src/test/scala/docs/routing/ConsistentHashingRouterDocSpec.scala b/akka-docs/src/test/scala/docs/routing/ConsistentHashingRouterDocSpec.scala index 09cb5cd3fc..b60e2e54eb 100644 --- a/akka-docs/src/test/scala/docs/routing/ConsistentHashingRouterDocSpec.scala +++ b/akka-docs/src/test/scala/docs/routing/ConsistentHashingRouterDocSpec.scala @@ -55,7 +55,7 @@ class ConsistentHashingRouterDocSpec extends AkkaSpec with ImplicitSender { } val cache: ActorRef = - context.actorOf(ConsistentHashingPool(10, hashMapping = hashMapping).props(Props[Cache]), name = "cache") + context.actorOf(ConsistentHashingPool(10, hashMapping = hashMapping).props(Props[Cache]()), name = "cache") cache ! ConsistentHashableEnvelope(message = Entry("hello", "HELLO"), hashKey = "hello") cache ! ConsistentHashableEnvelope(message = Entry("hi", "HI"), hashKey = "hi") diff --git a/akka-docs/src/test/scala/docs/routing/CustomRouterDocSpec.scala b/akka-docs/src/test/scala/docs/routing/CustomRouterDocSpec.scala index 10229614f0..78cb6e53a2 100644 --- a/akka-docs/src/test/scala/docs/routing/CustomRouterDocSpec.scala +++ b/akka-docs/src/test/scala/docs/routing/CustomRouterDocSpec.scala @@ -117,7 +117,7 @@ class CustomRouterDocSpec extends AkkaSpec(CustomRouterDocSpec.config) with Impl "demonstrate usage of custom router" in { //#usage-1 - for (n <- 1 to 10) system.actorOf(Props[Storage], "s" + n) + for (n <- 1 to 10) system.actorOf(Props[Storage](), "s" + n) val paths = for (n <- 1 to 10) yield ("/user/s" + n) val redundancy1: ActorRef = diff --git a/akka-docs/src/test/scala/docs/routing/RouterDocSpec.scala b/akka-docs/src/test/scala/docs/routing/RouterDocSpec.scala index 7e082a54e8..849ede1f9b 100644 --- a/akka-docs/src/test/scala/docs/routing/RouterDocSpec.scala +++ b/akka-docs/src/test/scala/docs/routing/RouterDocSpec.scala @@ -299,7 +299,7 @@ router-dispatcher {} class Master extends Actor { var router = { val routees = Vector.fill(5) { - val r = context.actorOf(Props[Worker]) + val r = context.actorOf(Props[Worker]()) context.watch(r) ActorRefRoutee(r) } @@ -311,7 +311,7 @@ router-dispatcher {} router.route(w, sender()) case Terminated(a) => router = router.removeRoutee(a) - val r = context.actorOf(Props[Worker]) + val r = context.actorOf(Props[Worker]()) context.watch(r) router = router.addRoutee(r) } @@ -326,9 +326,9 @@ router-dispatcher {} //#create-worker-actors class Workers extends Actor { - context.actorOf(Props[Worker], name = "w1") - context.actorOf(Props[Worker], name = "w2") - context.actorOf(Props[Worker], name = "w3") + context.actorOf(Props[Worker](), name = "w1") + context.actorOf(Props[Worker](), name = "w2") + context.actorOf(Props[Worker](), name = "w3") // ... //#create-worker-actors @@ -345,12 +345,12 @@ router-dispatcher {} //#round-robin-pool-1 val router1: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router1") + context.actorOf(FromConfig.props(Props[Worker]()), "router1") //#round-robin-pool-1 //#round-robin-pool-2 val router2: ActorRef = - context.actorOf(RoundRobinPool(5).props(Props[Worker]), "router2") + context.actorOf(RoundRobinPool(5).props(Props[Worker]()), "router2") //#round-robin-pool-2 //#round-robin-group-1 @@ -365,12 +365,12 @@ router-dispatcher {} //#random-pool-1 val router5: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router5") + context.actorOf(FromConfig.props(Props[Worker]()), "router5") //#random-pool-1 //#random-pool-2 val router6: ActorRef = - context.actorOf(RandomPool(5).props(Props[Worker]), "router6") + context.actorOf(RandomPool(5).props(Props[Worker]()), "router6") //#random-pool-2 //#random-group-1 @@ -385,17 +385,17 @@ router-dispatcher {} //#balancing-pool-1 val router9: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router9") + context.actorOf(FromConfig.props(Props[Worker]()), "router9") //#balancing-pool-1 //#balancing-pool-2 val router10: ActorRef = - context.actorOf(BalancingPool(5).props(Props[Worker]), "router10") + context.actorOf(BalancingPool(5).props(Props[Worker]()), "router10") //#balancing-pool-2 // #balancing-pool-3 val router10b: ActorRef = - context.actorOf(BalancingPool(20).props(Props[Worker]), "router10b") + context.actorOf(BalancingPool(20).props(Props[Worker]()), "router10b") //#balancing-pool-3 for (i <- 1 to 100) router10b ! i val threads10b = Thread.getAllStackTraces.keySet.asScala.filter { _.getName contains "router10b" } @@ -406,22 +406,22 @@ router-dispatcher {} //#smallest-mailbox-pool-1 val router11: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router11") + context.actorOf(FromConfig.props(Props[Worker]()), "router11") //#smallest-mailbox-pool-1 //#smallest-mailbox-pool-2 val router12: ActorRef = - context.actorOf(SmallestMailboxPool(5).props(Props[Worker]), "router12") + context.actorOf(SmallestMailboxPool(5).props(Props[Worker]()), "router12") //#smallest-mailbox-pool-2 //#broadcast-pool-1 val router13: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router13") + context.actorOf(FromConfig.props(Props[Worker]()), "router13") //#broadcast-pool-1 //#broadcast-pool-2 val router14: ActorRef = - context.actorOf(BroadcastPool(5).props(Props[Worker]), "router14") + context.actorOf(BroadcastPool(5).props(Props[Worker]()), "router14") //#broadcast-pool-2 //#broadcast-group-1 @@ -436,12 +436,12 @@ router-dispatcher {} //#scatter-gather-pool-1 val router17: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router17") + context.actorOf(FromConfig.props(Props[Worker]()), "router17") //#scatter-gather-pool-1 //#scatter-gather-pool-2 val router18: ActorRef = - context.actorOf(ScatterGatherFirstCompletedPool(5, within = 10.seconds).props(Props[Worker]), "router18") + context.actorOf(ScatterGatherFirstCompletedPool(5, within = 10.seconds).props(Props[Worker]()), "router18") //#scatter-gather-pool-2 //#scatter-gather-group-1 @@ -456,12 +456,12 @@ router-dispatcher {} //#tail-chopping-pool-1 val router21: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router21") + context.actorOf(FromConfig.props(Props[Worker]()), "router21") //#tail-chopping-pool-1 //#tail-chopping-pool-2 val router22: ActorRef = - context.actorOf(TailChoppingPool(5, within = 10.seconds, interval = 20.millis).props(Props[Worker]), "router22") + context.actorOf(TailChoppingPool(5, within = 10.seconds, interval = 20.millis).props(Props[Worker]()), "router22") //#tail-chopping-pool-2 //#tail-chopping-group-1 @@ -476,12 +476,12 @@ router-dispatcher {} //#consistent-hashing-pool-1 val router25: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router25") + context.actorOf(FromConfig.props(Props[Worker]()), "router25") //#consistent-hashing-pool-1 //#consistent-hashing-pool-2 val router26: ActorRef = - context.actorOf(ConsistentHashingPool(5).props(Props[Worker]), "router26") + context.actorOf(ConsistentHashingPool(5).props(Props[Worker]()), "router26") //#consistent-hashing-pool-2 //#consistent-hashing-group-1 @@ -496,18 +496,18 @@ router-dispatcher {} //#resize-pool-1 val router29: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router29") + context.actorOf(FromConfig.props(Props[Worker]()), "router29") //#resize-pool-1 //#resize-pool-2 val resizer = DefaultResizer(lowerBound = 2, upperBound = 15) val router30: ActorRef = - context.actorOf(RoundRobinPool(5, Some(resizer)).props(Props[Worker]), "router30") + context.actorOf(RoundRobinPool(5, Some(resizer)).props(Props[Worker]()), "router30") //#resize-pool-2 //#optimal-size-exploring-resize-pool val router31: ActorRef = - context.actorOf(FromConfig.props(Props[Worker]), "router31") + context.actorOf(FromConfig.props(Props[Worker]()), "router31") //#optimal-size-exploring-resize-pool def receive = { @@ -528,11 +528,11 @@ class RouterDocSpec extends AkkaSpec(RouterDocSpec.config) with ImplicitSender { import RouterDocSpec._ //#create-workers - system.actorOf(Props[Workers], "workers") + system.actorOf(Props[Workers](), "workers") //#create-workers //#create-parent - system.actorOf(Props[Parent], "parent") + system.actorOf(Props[Parent](), "parent") //#create-parent "demonstrate dispatcher" in { @@ -540,13 +540,13 @@ class RouterDocSpec extends AkkaSpec(RouterDocSpec.config) with ImplicitSender { val router: ActorRef = system.actorOf( // “head” router actor will run on "router-dispatcher" dispatcher // Worker routees will run on "pool-dispatcher" dispatcher - RandomPool(5, routerDispatcher = "router-dispatcher").props(Props[Worker]), + RandomPool(5, routerDispatcher = "router-dispatcher").props(Props[Worker]()), name = "poolWithDispatcher") //#dispatchers } "demonstrate broadcast" in { - val router = system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo])) + val router = system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]())) //#broadcastDavyJonesWarning import akka.routing.Broadcast router ! Broadcast("Watch out for Davy Jones' locker") @@ -555,7 +555,7 @@ class RouterDocSpec extends AkkaSpec(RouterDocSpec.config) with ImplicitSender { } "demonstrate PoisonPill" in { - val router = watch(system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]))) + val router = watch(system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]()))) //#poisonPill import akka.actor.PoisonPill router ! PoisonPill @@ -564,7 +564,7 @@ class RouterDocSpec extends AkkaSpec(RouterDocSpec.config) with ImplicitSender { } "demonstrate broadcast of PoisonPill" in { - val router = watch(system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]))) + val router = watch(system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]()))) //#broadcastPoisonPill import akka.actor.PoisonPill import akka.routing.Broadcast @@ -574,7 +574,7 @@ class RouterDocSpec extends AkkaSpec(RouterDocSpec.config) with ImplicitSender { } "demonstrate Kill" in { - val router = watch(system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]))) + val router = watch(system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]()))) //#kill import akka.actor.Kill router ! Kill @@ -583,7 +583,7 @@ class RouterDocSpec extends AkkaSpec(RouterDocSpec.config) with ImplicitSender { } "demonstrate broadcast of Kill" in { - val router = watch(system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]))) + val router = watch(system.actorOf(RoundRobinPool(nrOfInstances = 5).props(Props[Echo]()))) //#broadcastKill import akka.actor.Kill import akka.routing.Broadcast @@ -598,7 +598,7 @@ class RouterDocSpec extends AkkaSpec(RouterDocSpec.config) with ImplicitSender { import akka.remote.routing.RemoteRouterConfig val addresses = Seq(Address("akka", "remotesys", "otherhost", 1234), AddressFromURIString("akka://othersys@anotherhost:1234")) - val routerRemote = system.actorOf(RemoteRouterConfig(RoundRobinPool(5), addresses).props(Props[Echo])) + val routerRemote = system.actorOf(RemoteRouterConfig(RoundRobinPool(5), addresses).props(Props[Echo]())) //#remoteRoutees } @@ -609,7 +609,7 @@ class RouterDocSpec extends AkkaSpec(RouterDocSpec.config) with ImplicitSender { import akka.remote.routing.RemoteRouterConfig val addresses = Seq(Address("akka", "remotesys", "otherhost", 1234), AddressFromURIString("akka://othersys@anotherhost:1234")) - val routerRemote = system.actorOf(RemoteRouterConfig(RoundRobinPool(5), addresses).props(Props[Echo])) + val routerRemote = system.actorOf(RemoteRouterConfig(RoundRobinPool(5), addresses).props(Props[Echo]())) //#remoteRoutees-artery } } diff --git a/akka-docs/src/test/scala/docs/stream/FlowDocSpec.scala b/akka-docs/src/test/scala/docs/stream/FlowDocSpec.scala index 8e7e0feb25..19f4206337 100644 --- a/akka-docs/src/test/scala/docs/stream/FlowDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/FlowDocSpec.scala @@ -4,8 +4,10 @@ package docs.stream +import akka.Done import akka.NotUsed import akka.actor.{ Actor, ActorSystem, Cancellable } +import akka.stream.CompletionStrategy import akka.stream.Materializer import akka.stream.{ ClosedShape, FlowShape, OverflowStrategy } import akka.stream.scaladsl._ @@ -99,7 +101,7 @@ class FlowDocSpec extends AkkaSpec with CompileOnlySpec { Source(List(1, 2, 3)) // Create a source from a Future - Source.fromFuture(Future.successful("Hello Streams!")) + Source.future(Future.successful("Hello Streams!")) // Create a source from a single element Source.single("only one element") @@ -227,8 +229,13 @@ class FlowDocSpec extends AkkaSpec with CompileOnlySpec { "source pre-materialization" in { //#source-prematerialization + val completeWithDone: PartialFunction[Any, CompletionStrategy] = { case Done => CompletionStrategy.immediately } val matValuePoweredSource = - Source.actorRef[String](bufferSize = 100, overflowStrategy = OverflowStrategy.fail) + Source.actorRef[String]( + completionMatcher = completeWithDone, + failureMatcher = PartialFunction.empty, + bufferSize = 100, + overflowStrategy = OverflowStrategy.fail) val (actorRef, source) = matValuePoweredSource.preMaterialize() diff --git a/akka-docs/src/test/scala/docs/stream/FlowStreamRefsDocSpec.scala b/akka-docs/src/test/scala/docs/stream/FlowStreamRefsDocSpec.scala index 44675c0756..5c5eca944f 100644 --- a/akka-docs/src/test/scala/docs/stream/FlowStreamRefsDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/FlowStreamRefsDocSpec.scala @@ -42,7 +42,7 @@ class FlowStreamRefsDocSpec extends AkkaSpec with CompileOnlySpec { //#offer-source //#offer-source-use - val sourceActor = system.actorOf(Props[DataSource], "dataSource") + val sourceActor = system.actorOf(Props[DataSource](), "dataSource") sourceActor ! RequestLogs(1337) val offer = expectMsgType[LogsOffer] @@ -87,7 +87,7 @@ class FlowStreamRefsDocSpec extends AkkaSpec with CompileOnlySpec { def localMetrics(): Source[String, NotUsed] = Source.single("") //#offer-sink-use - val receiver = system.actorOf(Props[DataReceiver], "receiver") + val receiver = system.actorOf(Props[DataReceiver](), "receiver") receiver ! PrepareUpload("system-42-tmp") val ready = expectMsgType[MeasurementsSinkReady] diff --git a/akka-docs/src/test/scala/docs/stream/GraphStageDocSpec.scala b/akka-docs/src/test/scala/docs/stream/GraphStageDocSpec.scala index b56be59b0a..0bcd735f70 100644 --- a/akka-docs/src/test/scala/docs/stream/GraphStageDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/GraphStageDocSpec.scala @@ -506,7 +506,7 @@ class GraphStageDocSpec extends AkkaSpec { if (buffer.isEmpty) { downstreamWaiting = true } else { - val elem = buffer.dequeue + val elem = buffer.dequeue() push(out, elem) } if (!bufferFull && !hasBeenPulled(in)) { diff --git a/akka-docs/src/test/scala/docs/stream/IntegrationDocSpec.scala b/akka-docs/src/test/scala/docs/stream/IntegrationDocSpec.scala index 98265be633..002afdddf9 100644 --- a/akka-docs/src/test/scala/docs/stream/IntegrationDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/IntegrationDocSpec.scala @@ -4,9 +4,10 @@ package docs.stream -import akka.NotUsed - import scala.concurrent.duration._ + +import akka.Done +import akka.NotUsed import akka.testkit.AkkaSpec import akka.stream.scaladsl._ import akka.stream._ @@ -134,7 +135,7 @@ class IntegrationDocSpec extends AkkaSpec(IntegrationDocSpec.config) { import TwitterStreamQuickstartDocSpec._ import IntegrationDocSpec._ - val ref: ActorRef = system.actorOf(Props[Translator]) + val ref: ActorRef = system.actorOf(Props[Translator]()) "ask" in { //#ask @@ -494,16 +495,25 @@ class IntegrationDocSpec extends AkkaSpec(IntegrationDocSpec.config) { //#source-actorRef val bufferSize = 10 + val cm: PartialFunction[Any, CompletionStrategy] = { + case Done => + CompletionStrategy.immediately + } + val ref = Source - .actorRef[Int](bufferSize, OverflowStrategy.fail) // note: backpressure is not supported + .actorRef[Int]( + completionMatcher = cm, + failureMatcher = PartialFunction.empty[Any, Throwable], + bufferSize = bufferSize, + overflowStrategy = OverflowStrategy.fail) // note: backpressure is not supported .map(x => x * x) - .toMat(Sink.foreach(x => println(s"completed $x")))(Keep.left) + .toMat(Sink.foreach((x: Int) => println(s"completed $x")))(Keep.left) .run() ref ! 1 ref ! 2 ref ! 3 - ref ! akka.actor.Status.Success("done") + ref ! Done //#source-actorRef } } diff --git a/akka-docs/src/test/scala/docs/stream/RateTransformationDocSpec.scala b/akka-docs/src/test/scala/docs/stream/RateTransformationDocSpec.scala index d6d6920043..8bdd4b585a 100644 --- a/akka-docs/src/test/scala/docs/stream/RateTransformationDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/RateTransformationDocSpec.scala @@ -28,7 +28,11 @@ class RateTransformationDocSpec extends AkkaSpec { //#conflate-summarize val fut = - Source.fromIterator(() => Iterator.continually(Random.nextGaussian)).via(statsFlow).grouped(10).runWith(Sink.head) + Source + .fromIterator(() => Iterator.continually(Random.nextGaussian())) + .via(statsFlow) + .grouped(10) + .runWith(Sink.head) fut.futureValue } @@ -38,8 +42,8 @@ class RateTransformationDocSpec extends AkkaSpec { val p = 0.01 val sampleFlow = Flow[Double] .conflateWithSeed(immutable.Seq(_)) { - case (acc, elem) if Random.nextDouble < p => acc :+ elem - case (acc, _) => acc + case (acc, elem) if Random.nextDouble() < p => acc :+ elem + case (acc, _) => acc } .mapConcat(identity) //#conflate-sample diff --git a/akka-docs/src/test/scala/docs/stream/ReactiveStreamsDocSpec.scala b/akka-docs/src/test/scala/docs/stream/ReactiveStreamsDocSpec.scala index 3cf699a17e..a4b4662641 100644 --- a/akka-docs/src/test/scala/docs/stream/ReactiveStreamsDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/ReactiveStreamsDocSpec.scala @@ -41,9 +41,9 @@ class ReactiveStreamsDocSpec extends AkkaSpec { override def tweets: Publisher[Tweet] = TwitterStreamQuickstartDocSpec.tweets.runWith(Sink.asPublisher(fanout = false)) - override def storage = TestSubscriber.manualProbe[Author] + override def storage = TestSubscriber.manualProbe[Author]() - override def alert = TestSubscriber.manualProbe[Author] + override def alert = TestSubscriber.manualProbe[Author]() } def assertResult(storage: TestSubscriber.ManualProbe[Author]): Unit = { diff --git a/akka-docs/src/test/scala/docs/stream/RestartDocSpec.scala b/akka-docs/src/test/scala/docs/stream/RestartDocSpec.scala index dacbb92f99..d89bc803f6 100644 --- a/akka-docs/src/test/scala/docs/stream/RestartDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/RestartDocSpec.scala @@ -41,7 +41,7 @@ class RestartDocSpec extends AkkaSpec with CompileOnlySpec { maxRestarts = 20 // limits the amount of restarts to 20 ) { () => // Create a source from a future of a source - Source.fromFutureSource { + Source.futureSource { // Make a single request with akka-http Http() .singleRequest(HttpRequest(uri = "http://example.com/eventstream")) diff --git a/akka-docs/src/test/scala/docs/stream/StreamPartialGraphDSLDocSpec.scala b/akka-docs/src/test/scala/docs/stream/StreamPartialGraphDSLDocSpec.scala index 415f0d18e3..31c42fd69b 100644 --- a/akka-docs/src/test/scala/docs/stream/StreamPartialGraphDSLDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/StreamPartialGraphDSLDocSpec.scala @@ -114,7 +114,7 @@ class StreamPartialGraphDSLDocSpec extends AkkaSpec { "combine sinks with simplified API" in { val actorRef: ActorRef = testActor //#sink-combine - val sendRmotely = Sink.actorRef(actorRef, "Done") + val sendRmotely = Sink.actorRef(actorRef, "Done", _ => "Failed") val localProcessing = Sink.foreach[Int](_ => /* do something useful */ ()) val sink = Sink.combine(sendRmotely, localProcessing)(Broadcast[Int](_)) diff --git a/akka-docs/src/test/scala/docs/stream/StreamTestKitDocSpec.scala b/akka-docs/src/test/scala/docs/stream/StreamTestKitDocSpec.scala index ee5ad07946..e4d5d46975 100644 --- a/akka-docs/src/test/scala/docs/stream/StreamTestKitDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/StreamTestKitDocSpec.scala @@ -4,12 +4,14 @@ package docs.stream -import akka.stream._ -import akka.stream.scaladsl._ -import akka.stream.testkit.scaladsl._ import scala.util._ import scala.concurrent.duration._ import scala.concurrent._ + +import akka.Done +import akka.stream._ +import akka.stream.scaladsl._ +import akka.stream.testkit.scaladsl._ import akka.testkit.{ AkkaSpec, TestProbe } import akka.pattern @@ -67,10 +69,12 @@ class StreamTestKitDocSpec extends AkkaSpec { val sourceUnderTest = Source.tick(0.seconds, 200.millis, Tick) val probe = TestProbe() - val cancellable = sourceUnderTest.to(Sink.actorRef(probe.ref, "completed")).run() + val cancellable = sourceUnderTest + .to(Sink.actorRef(probe.ref, onCompleteMessage = "completed", onFailureMessage = _ => "failed")) + .run() probe.expectMsg(1.second, Tick) - probe.expectNoMsg(100.millis) + probe.expectNoMessage(100.millis) probe.expectMsg(3.seconds, Tick) cancellable.cancel() probe.expectMsg(3.seconds, "completed") @@ -81,12 +85,23 @@ class StreamTestKitDocSpec extends AkkaSpec { //#source-actorref val sinkUnderTest = Flow[Int].map(_.toString).toMat(Sink.fold("")(_ + _))(Keep.right) - val (ref, future) = Source.actorRef(8, OverflowStrategy.fail).toMat(sinkUnderTest)(Keep.both).run() + val (ref, future) = Source + .actorRef( + completionMatcher = { + case Done => + CompletionStrategy.draining + }, + // Never fail the stream because of a message: + failureMatcher = PartialFunction.empty, + bufferSize = 8, + overflowStrategy = OverflowStrategy.fail) + .toMat(sinkUnderTest)(Keep.both) + .run() ref ! 1 ref ! 2 ref ! 3 - ref ! akka.actor.Status.Success(CompletionStrategy.draining) + ref ! Done val result = Await.result(future, 3.seconds) assert(result == "123") @@ -116,9 +131,7 @@ class StreamTestKitDocSpec extends AkkaSpec { val (probe, future) = TestSource.probe[Int].toMat(sinkUnderTest)(Keep.both).run() probe.sendError(new Exception("boom")) - Await.ready(future, 3.seconds) - val Failure(exception) = future.value.get - assert(exception.getMessage == "boom") + assert(future.failed.futureValue.getMessage == "boom") //#injecting-failure } diff --git a/akka-docs/src/test/scala/docs/stream/cookbook/RecipeAdhocSource.scala b/akka-docs/src/test/scala/docs/stream/cookbook/RecipeAdhocSource.scala index 2b83b3473f..45d2c3e602 100644 --- a/akka-docs/src/test/scala/docs/stream/cookbook/RecipeAdhocSource.scala +++ b/akka-docs/src/test/scala/docs/stream/cookbook/RecipeAdhocSource.scala @@ -18,13 +18,13 @@ class RecipeAdhocSource extends RecipeSpec { //#adhoc-source def adhocSource[T](source: Source[T, _], timeout: FiniteDuration, maxRetries: Int): Source[T, _] = - Source.lazily( + Source.lazySource( () => source .backpressureTimeout(timeout) .recoverWithRetries(maxRetries, { case t: TimeoutException => - Source.lazily(() => source.backpressureTimeout(timeout)).mapMaterializedValue(_ => NotUsed) + Source.lazySource(() => source.backpressureTimeout(timeout)).mapMaterializedValue(_ => NotUsed) })) //#adhoc-source diff --git a/akka-docs/src/test/scala/docs/stream/operators/SourceOperators.scala b/akka-docs/src/test/scala/docs/stream/operators/SourceOperators.scala index 312ca2ddd3..85b8ae3d80 100644 --- a/akka-docs/src/test/scala/docs/stream/operators/SourceOperators.scala +++ b/akka-docs/src/test/scala/docs/stream/operators/SourceOperators.scala @@ -4,7 +4,6 @@ package docs.stream.operators -import akka.Done import akka.actor.ActorSystem import akka.testkit.TestProbe @@ -12,7 +11,7 @@ object SourceOperators { implicit val system: ActorSystem = ??? - def fromFuture = { + def fromFuture(): Unit = { //#sourceFromFuture import akka.actor.ActorSystem @@ -35,7 +34,6 @@ object SourceOperators { import akka.stream.OverflowStrategy import akka.stream.CompletionStrategy import akka.stream.scaladsl._ - import scala.util.Failure val source: Source[Any, ActorRef] = Source.actorRef( completionMatcher = { diff --git a/akka-docs/src/test/scala/docs/stream/operators/converters/StreamConvertersToJava.scala b/akka-docs/src/test/scala/docs/stream/operators/converters/StreamConvertersToJava.scala index 958088d96d..a35272d76f 100644 --- a/akka-docs/src/test/scala/docs/stream/operators/converters/StreamConvertersToJava.scala +++ b/akka-docs/src/test/scala/docs/stream/operators/converters/StreamConvertersToJava.scala @@ -36,10 +36,10 @@ class StreamConvertersToJava extends AkkaSpec with Futures { "demonstrate conversion from Java8 streams" in { //#fromJavaStream def factory(): IntStream = IntStream.rangeClosed(0, 9) - val source: Source[Int, NotUsed] = StreamConverters.fromJavaStream(factory).map(_.intValue()) + val source: Source[Int, NotUsed] = StreamConverters.fromJavaStream(() => factory()).map(_.intValue()) val sink: Sink[Int, Future[immutable.Seq[Int]]] = Sink.seq[Int] - val futureInts: Future[immutable.Seq[Int]] = source.toMat(sink)(Keep.right).run + val futureInts: Future[immutable.Seq[Int]] = source.toMat(sink)(Keep.right).run() //#fromJavaStream whenReady(futureInts) { ints => diff --git a/akka-docs/src/test/scala/docs/stream/operators/flow/FromSinkAndSource.scala b/akka-docs/src/test/scala/docs/stream/operators/flow/FromSinkAndSource.scala index 3f6ac2753b..f5d2bca489 100644 --- a/akka-docs/src/test/scala/docs/stream/operators/flow/FromSinkAndSource.scala +++ b/akka-docs/src/test/scala/docs/stream/operators/flow/FromSinkAndSource.scala @@ -16,9 +16,6 @@ import akka.stream.scaladsl.Source import akka.stream.scaladsl.Tcp import akka.stream.testkit.TestPublisher import akka.stream.testkit.TestSubscriber -import akka.stream.testkit.Utils.TE -import akka.stream.testkit.scaladsl.TestSource -import akka.stream.testkit.scaladsl.TestSink import akka.util.ByteString import scala.concurrent.duration._ @@ -63,7 +60,7 @@ object FromSinkAndSource { def testing(): Unit = { def myApiThatTakesAFlow[In, Out](flow: Flow[In, Out, NotUsed]): Unit = ??? // #testing - val inProbe = TestSubscriber.probe[String] + val inProbe = TestSubscriber.probe[String]() val outProbe = TestPublisher.probe[String]() val testFlow = Flow.fromSinkAndSource(Sink.fromSubscriber(inProbe), Source.fromPublisher(outProbe)) diff --git a/akka-docs/src/test/scala/docs/stream/operators/source/Restart.scala b/akka-docs/src/test/scala/docs/stream/operators/source/Restart.scala index a6b6c77372..fde89fde5e 100644 --- a/akka-docs/src/test/scala/docs/stream/operators/source/Restart.scala +++ b/akka-docs/src/test/scala/docs/stream/operators/source/Restart.scala @@ -52,7 +52,7 @@ object Restart extends App { } - def onRestartWithBackoffInnerComplete() { + def onRestartWithBackoffInnerComplete() = { //#restart-failure-inner-complete val finiteSource = Source.tick(1.second, 1.second, "tick").take(3) diff --git a/akka-docs/src/test/scala/docs/stream/operators/source/Tick.scala b/akka-docs/src/test/scala/docs/stream/operators/source/Tick.scala index 104c20a0b9..54b2b78a53 100644 --- a/akka-docs/src/test/scala/docs/stream/operators/source/Tick.scala +++ b/akka-docs/src/test/scala/docs/stream/operators/source/Tick.scala @@ -27,7 +27,7 @@ object Tick { case class Response(text: String) } - def simple() { + def simple() = { // #simple Source .tick( @@ -39,7 +39,7 @@ object Tick { // #simple } - def pollSomething() { + def pollSomething() = { // #poll-actor val periodicActorResponse: Source[String, Cancellable] = Source .tick(1.second, 1.second, "tick") diff --git a/akka-docs/src/test/scala/docs/stream/operators/source/Zip.scala b/akka-docs/src/test/scala/docs/stream/operators/source/Zip.scala index 5cccb934b5..67652d1122 100644 --- a/akka-docs/src/test/scala/docs/stream/operators/source/Zip.scala +++ b/akka-docs/src/test/scala/docs/stream/operators/source/Zip.scala @@ -4,7 +4,6 @@ package docs.stream.operators.source -import akka.NotUsed import akka.actor.typed.ActorSystem import akka.stream.scaladsl.Source @@ -48,7 +47,7 @@ object Zip { // #zipWithN-simple } - def zipAll() { + def zipAll() = { // #zipAll-simple val numbers = Source(1 :: 2 :: 3 :: 4 :: Nil) val letters = Source("a" :: "b" :: "c" :: Nil) diff --git a/akka-docs/src/test/scala/docs/testkit/ParentChildSpec.scala b/akka-docs/src/test/scala/docs/testkit/ParentChildSpec.scala index 13bae21e2f..87d3566675 100644 --- a/akka-docs/src/test/scala/docs/testkit/ParentChildSpec.scala +++ b/akka-docs/src/test/scala/docs/testkit/ParentChildSpec.scala @@ -21,7 +21,7 @@ import org.scalatest.BeforeAndAfterAll */ //#test-example class Parent extends Actor { - val child = context.actorOf(Props[Child], "child") + val child = context.actorOf(Props[Child](), "child") var ponged = false def receive = { @@ -71,7 +71,7 @@ class GenericDependentParent(childMaker: ActorRefFactory => ActorRef) extends Ac */ class MockedChild extends Actor { def receive = { - case "ping" => sender ! "pong" + case "ping" => sender() ! "pong" } } @@ -139,8 +139,8 @@ class ParentChildSpec extends AnyWordSpec with Matchers with TestKitBase with Be val parent = system.actorOf(Props(new Actor { val child = context.actorOf(Props(new Child), "child") def receive = { - case x if sender == child => proxy.ref.forward(x) - case x => child.forward(x) + case x if sender() == child => proxy.ref.forward(x) + case x => child.forward(x) } })) diff --git a/akka-docs/src/test/scala/docs/testkit/PlainWordSpec.scala b/akka-docs/src/test/scala/docs/testkit/PlainWordSpec.scala index fb3949068b..6778feeae8 100644 --- a/akka-docs/src/test/scala/docs/testkit/PlainWordSpec.scala +++ b/akka-docs/src/test/scala/docs/testkit/PlainWordSpec.scala @@ -20,7 +20,7 @@ class MySpec() with BeforeAndAfterAll { //#implicit-sender - override def afterAll: Unit = { + override def afterAll(): Unit = { TestKit.shutdownActorSystem(system) } diff --git a/akka-docs/src/test/scala/docs/testkit/TestKitUsageSpec.scala b/akka-docs/src/test/scala/docs/testkit/TestKitUsageSpec.scala index 29abcb1284..e7f3a16772 100644 --- a/akka-docs/src/test/scala/docs/testkit/TestKitUsageSpec.scala +++ b/akka-docs/src/test/scala/docs/testkit/TestKitUsageSpec.scala @@ -45,7 +45,7 @@ class TestKitUsageSpec val seqRef = system.actorOf(Props(classOf[SequencingActor], testActor, headList, tailList)) - override def afterAll: Unit = { + override def afterAll(): Unit = { shutdown() } @@ -72,7 +72,7 @@ class TestKitUsageSpec filterRef ! "test" expectMsg("test") filterRef ! 1 - expectNoMsg + expectNoMessage() filterRef ! "some" filterRef ! "more" filterRef ! 1 @@ -98,8 +98,8 @@ class TestKitUsageSpec ignoreMsg { case msg: String => msg == "1" } - expectNoMsg - ignoreNoMsg + expectNoMessage() + ignoreNoMsg() } } } diff --git a/akka-docs/src/test/scala/docs/testkit/TestkitDocSpec.scala b/akka-docs/src/test/scala/docs/testkit/TestkitDocSpec.scala index d60b811fe6..82f33788df 100644 --- a/akka-docs/src/test/scala/docs/testkit/TestkitDocSpec.scala +++ b/akka-docs/src/test/scala/docs/testkit/TestkitDocSpec.scala @@ -170,8 +170,7 @@ class TestKitDocSpec extends AkkaSpec with DefaultTimeout with ImplicitSender { val actorRef = TestActorRef(new MyActor) // hypothetical message stimulating a '42' answer val future = actorRef ? Say42 - val Success(result: Int) = future.value.get - result should be(42) + future.futureValue should be(42) //#test-behavior } @@ -204,11 +203,11 @@ class TestKitDocSpec extends AkkaSpec with DefaultTimeout with ImplicitSender { import akka.actor.Props import scala.concurrent.duration._ - val worker = system.actorOf(Props[Worker]) + val worker = system.actorOf(Props[Worker]()) within(200 millis) { worker ! "some work" expectMsg("some result") - expectNoMessage // will block for the rest of the 200ms + expectNoMessage() // will block for the rest of the 200ms Thread.sleep(300) // will NOT make this block fail } //#test-within @@ -226,7 +225,7 @@ class TestKitDocSpec extends AkkaSpec with DefaultTimeout with ImplicitSender { //#test-probe val probe1 = TestProbe() val probe2 = TestProbe() - val actor = system.actorOf(Props[MyDoubleEcho]) + val actor = system.actorOf(Props[MyDoubleEcho]()) actor ! ((probe1.ref, probe2.ref)) actor ! "hello" probe1.expectMsg(500 millis, "hello") @@ -287,7 +286,7 @@ class TestKitDocSpec extends AkkaSpec with DefaultTimeout with ImplicitSender { //#test-probe-forward val probe = TestProbe() val source = system.actorOf(Props(classOf[Source], probe.ref)) - val dest = system.actorOf(Props[Destination]) + val dest = system.actorOf(Props[Destination]()) source ! "start" probe.expectMsg("work") probe.forward(dest) @@ -313,7 +312,7 @@ class TestKitDocSpec extends AkkaSpec with DefaultTimeout with ImplicitSender { "demonstrate calling thread dispatcher" in { //#calling-thread-dispatcher import akka.testkit.CallingThreadDispatcher - val ref = system.actorOf(Props[MyActor].withDispatcher(CallingThreadDispatcher.Id)) + val ref = system.actorOf(Props[MyActor]().withDispatcher(CallingThreadDispatcher.Id)) //#calling-thread-dispatcher } diff --git a/build.sbt b/build.sbt index 04c18a061f..072bf528e1 100644 --- a/build.sbt +++ b/build.sbt @@ -233,6 +233,7 @@ lazy val docs = akkaModule("akka-docs") streamTestkit % "compile->compile;test->test", persistenceTestkit % "compile->compile;test->test") .settings(Dependencies.docs) + .settings(AkkaDisciplinePlugin.docs) .settings(Paradox.settings) .settings(javacOptions += "-parameters") // for Jackson .enablePlugins( diff --git a/project/AkkaDisciplinePlugin.scala b/project/AkkaDisciplinePlugin.scala index 60bd70e5a0..366891b1b5 100644 --- a/project/AkkaDisciplinePlugin.scala +++ b/project/AkkaDisciplinePlugin.scala @@ -18,7 +18,6 @@ object AkkaDisciplinePlugin extends AutoPlugin { val enabled = !sys.props.contains("akka.no.discipline") // We allow warnings in docs to get the 'snippets' right - val nonFatalWarningsFor = Set("akka-docs") val nonFatalJavaWarningsFor = Set( // for sun.misc.Unsafe and AbstractScheduler "akka-actor", @@ -51,6 +50,7 @@ object AkkaDisciplinePlugin extends AutoPlugin { "akka-cluster-sharding", "akka-cluster-sharding-typed", "akka-distributed-data", + "akka-docs", "akka-persistence", "akka-persistence-tck", "akka-persistence-typed", @@ -74,10 +74,7 @@ object AkkaDisciplinePlugin extends AutoPlugin { lazy val disciplineSettings = if (enabled) { silencerSettings ++ Seq( - Compile / scalacOptions ++= ( - if (!nonFatalWarningsFor(name.value)) Seq("-Xfatal-warnings") - else Seq.empty - ), + Compile / scalacOptions ++= Seq("-Xfatal-warnings"), Test / scalacOptions --= testUndicipline, Compile / javacOptions ++= ( if (!nonFatalJavaWarningsFor(name.value)) Seq("-Werror", "-Xlint:deprecation", "-Xlint:unchecked") @@ -136,4 +133,23 @@ object AkkaDisciplinePlugin extends AutoPlugin { "-Ypartial-unification", "-Ywarn-extra-implicit") + /** + * We are a little less strict in docs + */ + val docs = Seq( + scalacOptions ++= Seq( + // In docs, 'unused' variables can be useful for naming and showing the type + "-P:silencer:globalFilters=is never used", + // Import statements are often duplicated across multiple snippets in one file + "-P:silencer:globalFilters=Unused import", + // We keep documentation for this old API around for a while: + "-P:silencer:globalFilters=in object Dns is deprecated", + "-P:silencer:globalFilters=in class Dns is deprecated", + // Because we sometimes wrap things in a class: + "-P:silencer:globalFilters=The outer reference in this type test cannot be checked at run time", + // Because we show some things that are deprecated in + // 2.13 but don't have a replacement that was in 2.12: + "-P:silencer:globalFilters=deprecated \\(since 2.13.0\\)" + ) + ) }