diff --git a/akka-actor-tests/src/test/java/akka/actor/JavaAPITestActor.java b/akka-actor-tests/src/test/java/akka/actor/JavaAPITestActor.java index 588307ee6c..4952d1b2c9 100644 --- a/akka-actor-tests/src/test/java/akka/actor/JavaAPITestActor.java +++ b/akka-actor-tests/src/test/java/akka/actor/JavaAPITestActor.java @@ -2,6 +2,6 @@ package akka.actor; public class JavaAPITestActor extends UntypedActor { public void onReceive(Object msg) { - tryReply("got it!"); + getChannel().tryTell("got it!"); } } diff --git a/akka-actor-tests/src/test/scala/akka/actor/ActorFireForgetRequestReplySpec.scala b/akka-actor-tests/src/test/scala/akka/actor/ActorFireForgetRequestReplySpec.scala index 461868df21..a74fe3ecbb 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/ActorFireForgetRequestReplySpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/ActorFireForgetRequestReplySpec.scala @@ -15,7 +15,7 @@ object ActorFireForgetRequestReplySpec { class ReplyActor extends Actor { def receive = { case "Send" ⇒ - reply("Reply") + channel ! "Reply" case "SendImplicit" ⇒ channel ! "ReplyImplicit" } diff --git a/akka-actor-tests/src/test/scala/akka/actor/ActorLifeCycleSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/ActorLifeCycleSpec.scala index 52e1bd6d58..5b9c1b96f9 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/ActorLifeCycleSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/ActorLifeCycleSpec.scala @@ -25,7 +25,7 @@ class ActorLifeCycleSpec extends AkkaSpec with BeforeAndAfterEach with ImplicitS val currentGen = generationProvider.getAndIncrement() override def preStart() { report("preStart") } override def postStop() { report("postStop") } - def receive = { case "status" ⇒ this reply message("OK") } + def receive = { case "status" ⇒ channel ! message("OK") } } "An Actor" must { diff --git a/akka-actor-tests/src/test/scala/akka/actor/ActorRefSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/ActorRefSpec.scala index 9ab8615594..1fde830821 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/ActorRefSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/ActorRefSpec.scala @@ -35,7 +35,7 @@ object ActorRefSpec { val worker = context.actorOf(Props[WorkerActor]) worker ! ReplyTo(channel) case "workDone" ⇒ replyTo ! "complexReply" - case "simpleRequest" ⇒ reply("simpleReply") + case "simpleRequest" ⇒ channel ! "simpleReply" } } @@ -43,7 +43,7 @@ object ActorRefSpec { def receive = { case "work" ⇒ { work - reply("workDone") + channel ! "workDone" self.stop() } case ReplyTo(replyTo) ⇒ { @@ -74,7 +74,7 @@ object ActorRefSpec { class OuterActor(val inner: ActorRef) extends Actor { def receive = { - case "self" ⇒ reply(self) + case "self" ⇒ channel ! self case x ⇒ inner forward x } } @@ -83,7 +83,7 @@ object ActorRefSpec { val fail = new InnerActor def receive = { - case "self" ⇒ reply(self) + case "self" ⇒ channel ! self case x ⇒ inner forward x } } @@ -94,8 +94,8 @@ object ActorRefSpec { class InnerActor extends Actor { def receive = { - case "innerself" ⇒ reply(self) - case other ⇒ reply(other) + case "innerself" ⇒ channel ! self + case other ⇒ channel ! other } } @@ -103,8 +103,8 @@ object ActorRefSpec { val fail = new InnerActor def receive = { - case "innerself" ⇒ reply(self) - case other ⇒ reply(other) + case "innerself" ⇒ channel ! self + case other ⇒ channel ! other } } @@ -321,7 +321,7 @@ class ActorRefSpec extends AkkaSpec { "support nested actorOfs" in { val a = actorOf(new Actor { val nested = actorOf(new Actor { def receive = { case _ ⇒ } }) - def receive = { case _ ⇒ reply(nested) } + def receive = { case _ ⇒ channel ! nested } }) val nested = (a ? "any").as[ActorRef].get @@ -369,8 +369,8 @@ class ActorRefSpec extends AkkaSpec { val timeout = Timeout(20000) val ref = actorOf(Props(new Actor { def receive = { - case 5 ⇒ tryReply("five") - case null ⇒ tryReply("null") + case 5 ⇒ channel.tryTell("five") + case null ⇒ channel.tryTell("null") } })) diff --git a/akka-actor-tests/src/test/scala/akka/actor/ForwardActorSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/ForwardActorSpec.scala index ce8bacf12b..55cfbd5fd7 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/ForwardActorSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/ForwardActorSpec.scala @@ -15,7 +15,7 @@ object ForwardActorSpec { def createForwardingChain(app: AkkaApplication): ActorRef = { val replier = app.actorOf(new Actor { - def receive = { case x ⇒ reply(x) } + def receive = { case x ⇒ channel ! x } }) def mkforwarder(forwardTo: ActorRef) = app.actorOf( diff --git a/akka-actor-tests/src/test/scala/akka/actor/IOActor.scala b/akka-actor-tests/src/test/scala/akka/actor/IOActor.scala index 85c29e1033..eee4553b59 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/IOActor.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/IOActor.scala @@ -48,7 +48,7 @@ object IOActorSpec { def receiveIO = { case length: Int ⇒ val bytes = socket.read(length) - reply(bytes) + channel ! bytes } } } @@ -108,9 +108,9 @@ object IOActorSpec { case msg: NewClient ⇒ createWorker forward msg case ('set, key: String, value: ByteString) ⇒ kvs += (key -> value) - tryReply(()) - case ('get, key: String) ⇒ tryReply(kvs.get(key)) - case 'getall ⇒ tryReply(kvs) + channel.tryTell(())(self) + case ('get, key: String) ⇒ channel.tryTell(kvs.get(key))(self) + case 'getall ⇒ channel.tryTell(kvs)(self) } } @@ -123,18 +123,20 @@ object IOActorSpec { socket = connect(ioManager, host, port) } + def reply(msg: Any) = channel.tryTell(msg)(self) + def receiveIO = { case ('set, key: String, value: ByteString) ⇒ socket write (ByteString("SET " + key + " " + value.length + "\r\n") ++ value) - tryReply(readResult) + reply(readResult) case ('get, key: String) ⇒ socket write ByteString("GET " + key + "\r\n") - tryReply(readResult) + reply(readResult) case 'getall ⇒ socket write ByteString("GETALL\r\n") - tryReply(readResult) + reply(readResult) } def readResult = { diff --git a/akka-actor-tests/src/test/scala/akka/actor/LoggingReceiveSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/LoggingReceiveSpec.scala index 0af11ba652..d00356afd3 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/LoggingReceiveSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/LoggingReceiveSpec.scala @@ -62,7 +62,7 @@ class LoggingReceiveSpec extends WordSpec with BeforeAndAfterEach with BeforeAnd app.eventHandler.addListener(testActor) val actor = TestActorRef(new Actor { def receive = loggable(this) { - case _ ⇒ reply("x") + case _ ⇒ channel ! "x" } }) actor ! "buh" @@ -91,7 +91,7 @@ class LoggingReceiveSpec extends WordSpec with BeforeAndAfterEach with BeforeAnd app.eventHandler.addListener(testActor) val actor = TestActorRef(new Actor { def receive = loggable(this)(loggable(this) { - case _ ⇒ reply("x") + case _ ⇒ channel ! "x" }) }) actor ! "buh" diff --git a/akka-actor-tests/src/test/scala/akka/actor/SupervisorMiscSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/SupervisorMiscSpec.scala index ea4776981d..aaebabb764 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/SupervisorMiscSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/SupervisorMiscSpec.scala @@ -24,7 +24,7 @@ class SupervisorMiscSpec extends AkkaSpec { override def postRestart(cause: Throwable) { countDownLatch.countDown() } protected def receive = { - case "status" ⇒ this.reply("OK") + case "status" ⇒ this.channel ! "OK" case _ ⇒ this.self.stop() } }).withSupervisor(supervisor) diff --git a/akka-actor-tests/src/test/scala/akka/actor/SupervisorSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/SupervisorSpec.scala index c4604253c8..80e015a9b7 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/SupervisorSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/SupervisorSpec.scala @@ -42,7 +42,7 @@ object SupervisorSpec { def receive = { case Ping ⇒ messageLog.put(PingMessage) - tryReply(PongMessage) + channel.tryTell(PongMessage) case Die ⇒ throw new RuntimeException(ExceptionMessage) } @@ -298,7 +298,7 @@ class SupervisorSpec extends AkkaSpec with BeforeAndAfterEach with BeforeAndAfte if (inits.get % 2 == 0) throw new IllegalStateException("Don't wanna!") def receive = { - case Ping ⇒ tryReply(PongMessage) + case Ping ⇒ channel.tryTell(PongMessage) case Die ⇒ throw new RuntimeException("Expected") } }).withSupervisor(supervisor)) diff --git a/akka-actor-tests/src/test/scala/akka/actor/Ticket669Spec.scala b/akka-actor-tests/src/test/scala/akka/actor/Ticket669Spec.scala index c32832fbc1..e0330bca9a 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/Ticket669Spec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/Ticket669Spec.scala @@ -47,11 +47,11 @@ object Ticket669Spec { } override def preRestart(reason: scala.Throwable, msg: Option[Any]) { - tryReply("failure1") + channel.tryTell("failure1") } override def postStop() { - tryReply("failure2") + channel.tryTell("failure2") } } } diff --git a/akka-actor-tests/src/test/scala/akka/actor/dispatch/ActorModelSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/dispatch/ActorModelSpec.scala index d4aa3e90e6..97aa58eddc 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/dispatch/ActorModelSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/dispatch/ActorModelSpec.scala @@ -70,8 +70,8 @@ object ActorModelSpec { case Meet(sign, wait) ⇒ ack; sign.countDown(); wait.await(); busy.switchOff() case Wait(time) ⇒ ack; Thread.sleep(time); busy.switchOff() case WaitAck(time, l) ⇒ ack; Thread.sleep(time); l.countDown(); busy.switchOff() - case Reply(msg) ⇒ ack; reply(msg); busy.switchOff() - case TryReply(msg) ⇒ ack; tryReply(msg); busy.switchOff() + case Reply(msg) ⇒ ack; channel ! msg; busy.switchOff() + case TryReply(msg) ⇒ ack; channel.tryTell(msg); busy.switchOff() case Forward(to, msg) ⇒ ack; to.forward(msg); busy.switchOff() case CountDown(latch) ⇒ ack; latch.countDown(); busy.switchOff() case Increment(count) ⇒ ack; count.incrementAndGet(); busy.switchOff() diff --git a/akka-actor-tests/src/test/scala/akka/actor/dispatch/DispatcherActorSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/dispatch/DispatcherActorSpec.scala index c8f23375c6..7ffaf365ea 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/dispatch/DispatcherActorSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/dispatch/DispatcherActorSpec.scala @@ -9,7 +9,7 @@ import akka.actor.{ Props, Actor } object DispatcherActorSpec { class TestActor extends Actor { def receive = { - case "Hello" ⇒ reply("World") + case "Hello" ⇒ channel ! "World" case "Failure" ⇒ throw new RuntimeException("Expected exception; to test fault-tolerance") } } diff --git a/akka-actor-tests/src/test/scala/akka/actor/dispatch/PinnedActorSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/dispatch/PinnedActorSpec.scala index 46d05c18ea..3564ab3dcb 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/dispatch/PinnedActorSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/dispatch/PinnedActorSpec.scala @@ -12,7 +12,7 @@ import org.scalatest.BeforeAndAfterEach object PinnedActorSpec { class TestActor extends Actor { def receive = { - case "Hello" ⇒ reply("World") + case "Hello" ⇒ channel ! "World" case "Failure" ⇒ throw new RuntimeException("Expected exception; to test fault-tolerance") } } diff --git a/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala index aef33a4874..6d5f8b9ea1 100644 --- a/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/dispatch/FutureSpec.scala @@ -17,20 +17,16 @@ import org.scalatest.junit.JUnitSuite object FutureSpec { class TestActor extends Actor { def receive = { - case "Hello" ⇒ - reply("World") - case "NoReply" ⇒ {} - case "Failure" ⇒ - throw new RuntimeException("Expected exception; to test fault-tolerance") + case "Hello" ⇒ channel ! "World" + case "Failure" ⇒ throw new RuntimeException("Expected exception; to test fault-tolerance") + case "NoReply" ⇒ } } class TestDelayActor(await: StandardLatch) extends Actor { def receive = { - case "Hello" ⇒ - await.await - reply("World") - case "NoReply" ⇒ { await.await } + case "Hello" ⇒ await.await; channel ! "World" + case "NoReply" ⇒ await.await case "Failure" ⇒ await.await throw new RuntimeException("Expected exception; to test fault-tolerance") @@ -140,7 +136,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { "will return a result" must { behave like futureWithResult { test ⇒ val actor1 = actorOf[TestActor] - val actor2 = actorOf(new Actor { def receive = { case s: String ⇒ reply(s.toUpperCase) } }) + val actor2 = actorOf(new Actor { def receive = { case s: String ⇒ channel ! s.toUpperCase } }) val future = actor1 ? "Hello" flatMap { case s: String ⇒ actor2 ? s } future.await test(future, "WORLD") @@ -152,7 +148,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { behave like futureWithException[ArithmeticException] { test ⇒ filterException[ArithmeticException] { val actor1 = actorOf[TestActor] - val actor2 = actorOf(new Actor { def receive = { case s: String ⇒ reply(s.length / 0) } }) + val actor2 = actorOf(new Actor { def receive = { case s: String ⇒ channel ! s.length / 0 } }) val future = actor1 ? "Hello" flatMap { case s: String ⇒ actor2 ? s } future.await test(future, "/ by zero") @@ -165,7 +161,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { behave like futureWithException[MatchError] { test ⇒ filterException[MatchError] { val actor1 = actorOf[TestActor] - val actor2 = actorOf(new Actor { def receive = { case s: String ⇒ reply(s.toUpperCase) } }) + val actor2 = actorOf(new Actor { def receive = { case s: String ⇒ channel ! s.toUpperCase } }) val future = actor1 ? "Hello" flatMap { case i: Int ⇒ actor2 ? i } future.await test(future, "World (of class java.lang.String)") @@ -182,8 +178,8 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { filterException[ClassCastException] { val actor = actorOf(new Actor { def receive = { - case s: String ⇒ reply(s.length) - case i: Int ⇒ reply((i * 2).toString) + case s: String ⇒ channel ! s.length + case i: Int ⇒ channel ! (i * 2).toString } }) @@ -214,8 +210,8 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { case class Res[T](res: T) val actor = actorOf(new Actor { def receive = { - case Req(s: String) ⇒ reply(Res(s.length)) - case Req(i: Int) ⇒ reply(Res((i * 2).toString)) + case Req(s: String) ⇒ channel ! Res(s.length) + case Req(i: Int) ⇒ channel ! Res((i * 2).toString) } }) @@ -301,7 +297,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { "fold" in { val actors = (1 to 10).toList map { _ ⇒ actorOf(new Actor { - def receive = { case (add: Int, wait: Int) ⇒ Thread.sleep(wait); tryReply(add) } + def receive = { case (add: Int, wait: Int) ⇒ Thread.sleep(wait); channel.tryTell(add) } }) } val timeout = 10000 @@ -312,7 +308,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { "fold by composing" in { val actors = (1 to 10).toList map { _ ⇒ actorOf(new Actor { - def receive = { case (add: Int, wait: Int) ⇒ Thread.sleep(wait); tryReply(add) } + def receive = { case (add: Int, wait: Int) ⇒ Thread.sleep(wait); channel.tryTell(add) } }) } def futures = actors.zipWithIndex map { case (actor: ActorRef, idx: Int) ⇒ actor.?((idx, idx * 200), 10000).mapTo[Int] } @@ -327,7 +323,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { case (add: Int, wait: Int) ⇒ Thread.sleep(wait) if (add == 6) throw new IllegalArgumentException("shouldFoldResultsWithException: expected") - tryReply(add) + channel.tryTell(add) } }) } @@ -359,7 +355,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { "shouldReduceResults" in { val actors = (1 to 10).toList map { _ ⇒ actorOf(new Actor { - def receive = { case (add: Int, wait: Int) ⇒ Thread.sleep(wait); tryReply(add) } + def receive = { case (add: Int, wait: Int) ⇒ Thread.sleep(wait); channel.tryTell(add) } }) } val timeout = 10000 @@ -375,7 +371,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { case (add: Int, wait: Int) ⇒ Thread.sleep(wait) if (add == 6) throw new IllegalArgumentException("shouldFoldResultsWithException: expected") - tryReply(add) + channel.tryTell(add) } }) } @@ -404,7 +400,7 @@ class FutureSpec extends AkkaSpec with Checkers with BeforeAndAfterAll { var counter = 1 def receive = { case 'GetNext ⇒ - reply(counter) + channel ! counter counter += 2 } }) diff --git a/akka-actor-tests/src/test/scala/akka/dispatch/PriorityDispatcherSpec.scala b/akka-actor-tests/src/test/scala/akka/dispatch/PriorityDispatcherSpec.scala index a54f739e23..e3ab6d2ed7 100644 --- a/akka-actor-tests/src/test/scala/akka/dispatch/PriorityDispatcherSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/dispatch/PriorityDispatcherSpec.scala @@ -29,7 +29,7 @@ class PriorityDispatcherSpec extends AkkaSpec { def receive = { case i: Int ⇒ acc = i :: acc - case 'Result ⇒ tryReply(acc) + case 'Result ⇒ channel.tryTell(acc) } }).withDispatcher(dispatcher)).asInstanceOf[LocalActorRef] diff --git a/akka-actor-tests/src/test/scala/akka/routing/ActorPoolSpec.scala b/akka-actor-tests/src/test/scala/akka/routing/ActorPoolSpec.scala index 0c1f381b1b..1ad0820f23 100644 --- a/akka-actor-tests/src/test/scala/akka/routing/ActorPoolSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/routing/ActorPoolSpec.scala @@ -41,7 +41,7 @@ class ActorPoolSpec extends AkkaSpec { case _ ⇒ count.incrementAndGet latch.countDown() - tryReply("success") + channel.tryTell("success") } })) @@ -88,7 +88,7 @@ class ActorPoolSpec extends AkkaSpec { def receive = { case req: String ⇒ { sleepFor(10 millis) - tryReply("Response") + channel.tryTell("Response") } } })) diff --git a/akka-actor-tests/src/test/scala/akka/routing/ConfiguredLocalRoutingSpec.scala b/akka-actor-tests/src/test/scala/akka/routing/ConfiguredLocalRoutingSpec.scala index 5e5da7ee23..ca566f726a 100644 --- a/akka-actor-tests/src/test/scala/akka/routing/ConfiguredLocalRoutingSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/routing/ConfiguredLocalRoutingSpec.scala @@ -73,7 +73,7 @@ class ConfiguredLocalRoutingSpec extends AkkaSpec { val actor = app.actorOf(Props(new Actor { lazy val id = counter.getAndIncrement() def receive = { - case "hit" ⇒ reply(id) + case "hit" ⇒ channel ! id case "end" ⇒ doneLatch.countDown() } }), address) @@ -187,7 +187,7 @@ class ConfiguredLocalRoutingSpec extends AkkaSpec { val actor = app.actorOf(Props(new Actor { lazy val id = counter.getAndIncrement() def receive = { - case "hit" ⇒ reply(id) + case "hit" ⇒ channel ! id case "end" ⇒ doneLatch.countDown() } }), address) diff --git a/akka-actor-tests/src/test/scala/akka/routing/RoutingSpec.scala b/akka-actor-tests/src/test/scala/akka/routing/RoutingSpec.scala index 5937597149..dab51d076f 100644 --- a/akka-actor-tests/src/test/scala/akka/routing/RoutingSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/routing/RoutingSpec.scala @@ -458,7 +458,7 @@ class RoutingSpec extends AkkaSpec { case Stop(None) ⇒ self.stop() case Stop(Some(_id)) if (_id == id) ⇒ self.stop() case _id: Int if (_id == id) ⇒ - case _ ⇒ Thread sleep 100 * id; tryReply(id) + case _ ⇒ Thread sleep 100 * id; channel.tryTell(id) } override def postStop = { diff --git a/akka-actor-tests/src/test/scala/akka/ticket/Ticket703Spec.scala b/akka-actor-tests/src/test/scala/akka/ticket/Ticket703Spec.scala index 0367956c50..5e46f3ec05 100644 --- a/akka-actor-tests/src/test/scala/akka/ticket/Ticket703Spec.scala +++ b/akka-actor-tests/src/test/scala/akka/ticket/Ticket703Spec.scala @@ -21,7 +21,7 @@ class Ticket703Spec extends AkkaSpec { def receive = { case req: String ⇒ Thread.sleep(6000L) - tryReply("Response") + channel.tryTell("Response") } })) }).withFaultHandler(OneForOneStrategy(List(classOf[Exception]), 5, 1000))) diff --git a/akka-actor/src/main/scala/akka/actor/Actor.scala b/akka-actor/src/main/scala/akka/actor/Actor.scala index c5834ac633..34b95174f6 100644 --- a/akka-actor/src/main/scala/akka/actor/Actor.scala +++ b/akka-actor/src/main/scala/akka/actor/Actor.scala @@ -295,31 +295,6 @@ trait Actor { */ def receiveTimeout_=(timeout: Option[Long]) = context.receiveTimeout = timeout - /** - * Akka Scala & Java API - * Use reply(..) to reply with a message to the original sender of the message currently - * being processed. This method fails if the original sender of the message could not be determined with an - * IllegalStateException. - * - * If you don't want deal with this IllegalStateException, but just a boolean, just use the tryReply(...) - * version. - * - *

- * Throws an IllegalStateException if unable to determine what to reply to. - */ - def reply(message: Any) = channel.!(message)(self) - - /** - * Akka Scala & Java API - * Use tryReply(..) to try reply with a message to the original sender of the message currently - * being processed. This method - *

- * Returns true if reply was sent, and false if unable to determine what to reply to. - * - * If you would rather have an exception, check the reply(..) version. - */ - def tryReply(message: Any): Boolean = channel.tryTell(message)(self) - /** * Same as ActorContext.children */ @@ -341,7 +316,7 @@ trait Actor { * def receive = { * case Ping => * println("got a 'Ping' message") - * reply("pong") + * channel ! "pong" * * case OneWay => * println("got a 'OneWay' message") diff --git a/akka-actor/src/main/scala/akka/actor/ActorRef.scala b/akka-actor/src/main/scala/akka/actor/ActorRef.scala index 41e8a6aeac..188cb6b00f 100644 --- a/akka-actor/src/main/scala/akka/actor/ActorRef.scala +++ b/akka-actor/src/main/scala/akka/actor/ActorRef.scala @@ -68,7 +68,7 @@ abstract class ActorRef extends ActorRefShared with UntypedChannel with ReplyCha * Use this method with care. In most cases it is better to use 'tell' together with the 'getContext().getSender()' to * implement request/response message exchanges. *

- * If you are sending messages using ask then you have to use getContext().reply(..) + * If you are sending messages using ask then you have to use getContext().channel().tell(...) * to send a reply message to the original sender. If not then the sender will block until the timeout expires. */ def ask(message: AnyRef, timeout: Long, sender: ActorRef): Future[AnyRef] = diff --git a/akka-actor/src/main/scala/akka/actor/FSM.scala b/akka-actor/src/main/scala/akka/actor/FSM.scala index 4beff7229d..efdb748708 100644 --- a/akka-actor/src/main/scala/akka/actor/FSM.scala +++ b/akka-actor/src/main/scala/akka/actor/FSM.scala @@ -506,7 +506,7 @@ trait FSM[S, D] extends ListenerManagement { nextState.stopReason match { case None ⇒ makeTransition(nextState) case _ ⇒ - nextState.replies.reverse foreach reply + nextState.replies.reverse foreach { r ⇒ channel ! r } terminate(nextState) self.stop() } @@ -516,7 +516,7 @@ trait FSM[S, D] extends ListenerManagement { if (!stateFunctions.contains(nextState.stateName)) { terminate(stay withStopReason Failure("Next state %s does not exist".format(nextState.stateName))) } else { - nextState.replies.reverse foreach reply + nextState.replies.reverse foreach { r ⇒ channel ! r } if (currentState.stateName != nextState.stateName) { handleTransition(currentState.stateName, nextState.stateName) notifyListeners(Transition(self, currentState.stateName, nextState.stateName)) diff --git a/akka-actor/src/main/scala/akka/actor/TypedActor.scala b/akka-actor/src/main/scala/akka/actor/TypedActor.scala index ea23e77bd7..43d98a5941 100644 --- a/akka-actor/src/main/scala/akka/actor/TypedActor.scala +++ b/akka-actor/src/main/scala/akka/actor/TypedActor.scala @@ -281,7 +281,7 @@ class TypedActor(val app: AkkaApplication) { case p: ActorPromise ⇒ p completeWith m(me).asInstanceOf[Future[Any]] case _ ⇒ throw new IllegalStateException("Future-returning TypedActor didn't use ?/ask so cannot reply") } - } else reply(m(me)) + } else channel ! m(me) } finally { TypedActor.selfReference set null diff --git a/akka-actor/src/main/scala/akka/actor/UntypedActor.scala b/akka-actor/src/main/scala/akka/actor/UntypedActor.scala index 5016b0c590..4a4237b59d 100644 --- a/akka-actor/src/main/scala/akka/actor/UntypedActor.scala +++ b/akka-actor/src/main/scala/akka/actor/UntypedActor.scala @@ -21,7 +21,7 @@ import akka.dispatch.{ MessageDispatcher, Promise } * * if (msg.equals("UseReply")) { * // Reply to original sender of message using the 'reply' method - * reply(msg + ":" + getSelf().getAddress()); + * getContext().getChannel().tell(msg + ":" + getSelf().getAddress()); * * } else if (msg.equals("UseSender") && getSender().isDefined()) { * // Reply to original sender of message using the sender reference diff --git a/akka-actor/src/main/scala/akka/routing/Pool.scala b/akka-actor/src/main/scala/akka/routing/Pool.scala index 803bdf1a51..5414159388 100644 --- a/akka-actor/src/main/scala/akka/routing/Pool.scala +++ b/akka-actor/src/main/scala/akka/routing/Pool.scala @@ -103,7 +103,7 @@ trait DefaultActorPool extends ActorPool { this: Actor ⇒ protected def _route(): Actor.Receive = { // for testing... case Stat ⇒ - tryReply(Stats(_delegates length)) + channel.tryTell(Stats(_delegates length)) case Terminated(victim, _) ⇒ _delegates = _delegates filterNot { victim == } case msg ⇒ diff --git a/akka-camel-typed/src/test/scala/akka/camel/TypedCamelTestSupport.scala b/akka-camel-typed/src/test/scala/akka/camel/TypedCamelTestSupport.scala index 4e5d92aa22..eb4204ce0e 100644 --- a/akka-camel-typed/src/test/scala/akka/camel/TypedCamelTestSupport.scala +++ b/akka-camel-typed/src/test/scala/akka/camel/TypedCamelTestSupport.scala @@ -24,7 +24,7 @@ object TypedCamelTestSupport { def countdown: Handler = { case SetExpectedMessageCount(num) ⇒ { latch = new CountDownLatch(num) - reply(latch) + channel ! latch } case msg ⇒ latch.countDown } @@ -32,7 +32,7 @@ object TypedCamelTestSupport { trait Respond { this: Actor ⇒ def respond: Handler = { - case msg: Message ⇒ reply(response(msg)) + case msg: Message ⇒ channel ! response(msg) } def response(msg: Message): Any = "Hello %s" format msg.body @@ -42,8 +42,8 @@ object TypedCamelTestSupport { val messages = Buffer[Any]() def retain: Handler = { - case GetRetainedMessage ⇒ reply(messages.last) - case GetRetainedMessages(p) ⇒ reply(messages.toList.filter(p)) + case GetRetainedMessage ⇒ channel ! messages.last + case GetRetainedMessages(p) ⇒ channel ! messages.filter(p).toList case msg ⇒ { messages += msg msg diff --git a/akka-camel/src/main/scala/akka/camel/ConsumerPublisher.scala b/akka-camel/src/main/scala/akka/camel/ConsumerPublisher.scala index b02587f236..062c6246b5 100644 --- a/akka-camel/src/main/scala/akka/camel/ConsumerPublisher.scala +++ b/akka-camel/src/main/scala/akka/camel/ConsumerPublisher.scala @@ -127,11 +127,11 @@ private[camel] class ActivationTracker extends Actor { def receive = { case SetExpectedActivationCount(num) ⇒ { activationLatch = new CountDownLatch(num) - reply(activationLatch) + channel ! activationLatch } case SetExpectedDeactivationCount(num) ⇒ { deactivationLatch = new CountDownLatch(num) - reply(deactivationLatch) + channel ! deactivationLatch } case EndpointActivated ⇒ activationLatch.countDown case EndpointDeactivated ⇒ deactivationLatch.countDown diff --git a/akka-camel/src/main/scala/akka/camel/Producer.scala b/akka-camel/src/main/scala/akka/camel/Producer.scala index b29d00e7e5..bdc0079251 100644 --- a/akka-camel/src/main/scala/akka/camel/Producer.scala +++ b/akka-camel/src/main/scala/akka/camel/Producer.scala @@ -159,7 +159,7 @@ trait ProducerSupport { this: Actor ⇒ * actor). */ protected def receiveAfterProduce: Receive = { - case msg ⇒ if (!oneway) reply(msg) + case msg ⇒ if (!oneway) channel ! msg } /** diff --git a/akka-camel/src/test/java/akka/camel/SampleUntypedConsumer.java b/akka-camel/src/test/java/akka/camel/SampleUntypedConsumer.java index d86d4d5cc7..93d0427902 100644 --- a/akka-camel/src/test/java/akka/camel/SampleUntypedConsumer.java +++ b/akka-camel/src/test/java/akka/camel/SampleUntypedConsumer.java @@ -15,7 +15,7 @@ public class SampleUntypedConsumer extends UntypedConsumerActor { Message msg = (Message)message; String body = msg.getBodyAs(String.class); String header = msg.getHeaderAs("test", String.class); - tryReply(String.format("%s %s", body, header)); + channel.tryTell(String.format("%s %s", body, header)); } } diff --git a/akka-camel/src/test/java/akka/camel/SampleUntypedConsumerBlocking.java b/akka-camel/src/test/java/akka/camel/SampleUntypedConsumerBlocking.java index 0e58677f54..db3ea7665d 100644 --- a/akka-camel/src/test/java/akka/camel/SampleUntypedConsumerBlocking.java +++ b/akka-camel/src/test/java/akka/camel/SampleUntypedConsumerBlocking.java @@ -17,7 +17,7 @@ public class SampleUntypedConsumerBlocking extends UntypedConsumerActor { Message msg = (Message)message; String body = msg.getBodyAs(String.class); String header = msg.getHeaderAs("test", String.class); - tryReply(String.format("%s %s", body, header)); + channel.tryTell(String.format("%s %s", body, header)); } } diff --git a/akka-camel/src/test/scala/akka/camel/CamelTestSupport.scala b/akka-camel/src/test/scala/akka/camel/CamelTestSupport.scala index be5099d050..d099dba708 100644 --- a/akka-camel/src/test/scala/akka/camel/CamelTestSupport.scala +++ b/akka-camel/src/test/scala/akka/camel/CamelTestSupport.scala @@ -36,7 +36,7 @@ object CamelTestSupport { def countdown: Handler = { case SetExpectedMessageCount(num) ⇒ { latch = new CountDownLatch(num) - reply(latch) + channel ! latch } case msg ⇒ latch.countDown } @@ -44,7 +44,7 @@ object CamelTestSupport { trait Respond { this: Actor ⇒ def respond: Handler = { - case msg: Message ⇒ reply(response(msg)) + case msg: Message ⇒ channel ! response(msg) } def response(msg: Message): Any = "Hello %s" format msg.body @@ -54,8 +54,8 @@ object CamelTestSupport { val messages = Buffer[Any]() def retain: Handler = { - case GetRetainedMessage ⇒ reply(messages.last) - case GetRetainedMessages(p) ⇒ reply(messages.toList.filter(p)) + case GetRetainedMessage ⇒ channel ! messages.last + case GetRetainedMessages(p) ⇒ channel ! messages.filter(p).toList case msg ⇒ { messages += msg msg diff --git a/akka-camel/src/test/scala/akka/camel/ConsumerScalaTest.scala b/akka-camel/src/test/scala/akka/camel/ConsumerScalaTest.scala index 7ee64f5d65..7a83e09de7 100644 --- a/akka-camel/src/test/scala/akka/camel/ConsumerScalaTest.scala +++ b/akka-camel/src/test/scala/akka/camel/ConsumerScalaTest.scala @@ -211,7 +211,7 @@ object ConsumerScalaTest { class TestConsumer(uri: String) extends Actor with Consumer { def endpointUri = uri protected def receive = { - case msg: Message ⇒ reply("received %s" format msg.body) + case msg: Message ⇒ channel ! "received %s" format msg.body } } @@ -226,7 +226,7 @@ object ConsumerScalaTest { def endpointUri = uri override def autoack = false protected def receive = { - case msg: Message ⇒ reply(Ack) + case msg: Message ⇒ channel ! Ack } } @@ -247,15 +247,15 @@ object ConsumerScalaTest { protected def receive = { case "fail" ⇒ { throw new Exception("test") } - case "succeed" ⇒ reply("ok") + case "succeed" ⇒ channel ! "ok" } override def preRestart(reason: scala.Throwable, msg: Option[Any]) { - tryReply("pr") + channel.tryTell("pr") } override def postStop { - tryReply("ps") + channel.tryTell("ps") } } @@ -288,7 +288,7 @@ object ConsumerScalaTest { } private def respondTo(msg: Message) = - if (valid) reply("accepted: %s" format msg.body) + if (valid) channel ! ("accepted: %s" format msg.body) else throw new Exception("rejected: %s" format msg.body) } diff --git a/akka-camel/src/test/scala/akka/camel/ProducerFeatureTest.scala b/akka-camel/src/test/scala/akka/camel/ProducerFeatureTest.scala index d7fbc783f0..ad1ec6b5cf 100644 --- a/akka-camel/src/test/scala/akka/camel/ProducerFeatureTest.scala +++ b/akka-camel/src/test/scala/akka/camel/ProducerFeatureTest.scala @@ -253,18 +253,16 @@ object ProducerFeatureTest { class TestResponder extends Actor { protected def receive = { case msg: Message ⇒ msg.body match { - case "fail" ⇒ reply(Failure(new Exception("failure"), msg.headers)) - case _ ⇒ reply(msg.transformBody { body: String ⇒ "received %s" format body }) + case "fail" ⇒ channel ! Failure(new Exception("failure"), msg.headers) + case _ ⇒ channel ! (msg.transformBody { body: String ⇒ "received %s" format body }) } } } class ReplyingForwardTarget extends Actor { protected def receive = { - case msg: Message ⇒ - reply(msg.addHeader("test" -> "result")) - case msg: Failure ⇒ - reply(Failure(msg.cause, msg.headers + ("test" -> "failure"))) + case msg: Message ⇒ channel ! msg.addHeader("test" -> "result") + case msg: Failure ⇒ channel ! Failure(msg.cause, msg.headers + ("test" -> "failure")) } } diff --git a/akka-camel/src/test/scala/akka/camel/component/ActorComponentFeatureTest.scala b/akka-camel/src/test/scala/akka/camel/component/ActorComponentFeatureTest.scala index d2b4067e2b..c05ceffaaa 100644 --- a/akka-camel/src/test/scala/akka/camel/component/ActorComponentFeatureTest.scala +++ b/akka-camel/src/test/scala/akka/camel/component/ActorComponentFeatureTest.scala @@ -96,13 +96,13 @@ class ActorComponentFeatureTest extends FeatureSpec with BeforeAndAfterAll with object ActorComponentFeatureTest { class CustomIdActor extends Actor { protected def receive = { - case msg: Message ⇒ reply("Received %s" format msg.body) + case msg: Message ⇒ channel ! ("Received %s" format msg.body) } } class FailWithMessage extends Actor { protected def receive = { - case msg: Message ⇒ reply(Failure(new Exception("test"))) + case msg: Message ⇒ channel ! Failure(new Exception("test")) } } diff --git a/akka-docs/intro/code/tutorials/first/Pi.scala b/akka-docs/intro/code/tutorials/first/Pi.scala index 57e5b3558e..c346db3820 100644 --- a/akka-docs/intro/code/tutorials/first/Pi.scala +++ b/akka-docs/intro/code/tutorials/first/Pi.scala @@ -50,8 +50,7 @@ object Pi extends App { //#calculatePiFor def receive = { - case Work(start, nrOfElements) ⇒ - reply(Result(calculatePiFor(start, nrOfElements))) // perform the work + case Work(start, nrOfElements) ⇒ channel ! Result(calculatePiFor(start, nrOfElements)) // perform the work } } //#worker diff --git a/akka-remote/src/main/scala/akka/remote/RemoteDaemon.scala b/akka-remote/src/main/scala/akka/remote/RemoteDaemon.scala index 449badf073..0266d14b60 100644 --- a/akka-remote/src/main/scala/akka/remote/RemoteDaemon.scala +++ b/akka-remote/src/main/scala/akka/remote/RemoteDaemon.scala @@ -149,10 +149,10 @@ class RemoteDaemon(val remote: Remote) extends Actor { app.eventHandler.error(this, "Actor 'address' is not defined, ignoring remote daemon command [%s]".format(message)) } - reply(Success(address.toString)) + channel ! Success(address.toString) } catch { case error: Throwable ⇒ - reply(Failure(error)) + channel ! Failure(error) throw error } } @@ -184,7 +184,7 @@ class RemoteDaemon(val remote: Remote) extends Actor { new LocalActorRef(app, Props( context ⇒ { - case f: Function0[_] ⇒ try { reply(f()) } finally { context.self.stop() } + case f: Function0[_] ⇒ try { channel ! f() } finally { context.self.stop() } }).copy(dispatcher = computeGridDispatcher), Props.randomAddress, systemService = true) forward payloadFor(message, classOf[Function0[Any]]) } @@ -200,7 +200,7 @@ class RemoteDaemon(val remote: Remote) extends Actor { new LocalActorRef(app, Props( context ⇒ { - case (fun: Function[_, _], param: Any) ⇒ try { reply(fun.asInstanceOf[Any ⇒ Any](param)) } finally { context.self.stop() } + case (fun: Function[_, _], param: Any) ⇒ try { channel ! fun.asInstanceOf[Any ⇒ Any](param) } finally { context.self.stop() } }).copy(dispatcher = computeGridDispatcher), Props.randomAddress, systemService = true) forward payloadFor(message, classOf[Tuple2[Function1[Any, Any], Any]]) } diff --git a/akka-remote/src/multi-jvm/scala/akka/remote/direct_routed/DirectRoutedRemoteActorMultiJvmSpec.scala b/akka-remote/src/multi-jvm/scala/akka/remote/direct_routed/DirectRoutedRemoteActorMultiJvmSpec.scala index 70c9bf99ef..c3cfedfc0b 100644 --- a/akka-remote/src/multi-jvm/scala/akka/remote/direct_routed/DirectRoutedRemoteActorMultiJvmSpec.scala +++ b/akka-remote/src/multi-jvm/scala/akka/remote/direct_routed/DirectRoutedRemoteActorMultiJvmSpec.scala @@ -10,9 +10,7 @@ object DirectRoutedRemoteActorMultiJvmSpec { class SomeActor extends Actor with Serializable { def receive = { - case "identify" ⇒ { - reply(app.nodename) - } + case "identify" ⇒ channel ! app.nodename } } } diff --git a/akka-remote/src/multi-jvm/scala/akka/remote/new_remote_actor/NewRemoteActorMultiJvmSpec.scala b/akka-remote/src/multi-jvm/scala/akka/remote/new_remote_actor/NewRemoteActorMultiJvmSpec.scala index c38009cbeb..375b380f8c 100644 --- a/akka-remote/src/multi-jvm/scala/akka/remote/new_remote_actor/NewRemoteActorMultiJvmSpec.scala +++ b/akka-remote/src/multi-jvm/scala/akka/remote/new_remote_actor/NewRemoteActorMultiJvmSpec.scala @@ -8,9 +8,7 @@ object NewRemoteActorMultiJvmSpec { class SomeActor extends Actor with Serializable { def receive = { - case "identify" ⇒ { - reply(app.nodename) - } + case "identify" ⇒ channel ! app.nodename } } } diff --git a/akka-remote/src/multi-jvm/scala/akka/remote/random_routed/RandomRoutedRemoteActorMultiJvmSpec.scala b/akka-remote/src/multi-jvm/scala/akka/remote/random_routed/RandomRoutedRemoteActorMultiJvmSpec.scala index e7b6139b7a..5001227865 100644 --- a/akka-remote/src/multi-jvm/scala/akka/remote/random_routed/RandomRoutedRemoteActorMultiJvmSpec.scala +++ b/akka-remote/src/multi-jvm/scala/akka/remote/random_routed/RandomRoutedRemoteActorMultiJvmSpec.scala @@ -9,7 +9,7 @@ object RandomRoutedRemoteActorMultiJvmSpec { val NrOfNodes = 4 class SomeActor extends Actor with Serializable { def receive = { - case "hit" ⇒ reply(app.nodename) + case "hit" ⇒ channel ! app.nodename case "end" ⇒ self.stop() } } diff --git a/akka-remote/src/multi-jvm/scala/akka/remote/round_robin_routed/RoundRobinRoutedRemoteActorMultiJvmSpec.scala b/akka-remote/src/multi-jvm/scala/akka/remote/round_robin_routed/RoundRobinRoutedRemoteActorMultiJvmSpec.scala index 7bc65fe7db..afc8fa13fa 100644 --- a/akka-remote/src/multi-jvm/scala/akka/remote/round_robin_routed/RoundRobinRoutedRemoteActorMultiJvmSpec.scala +++ b/akka-remote/src/multi-jvm/scala/akka/remote/round_robin_routed/RoundRobinRoutedRemoteActorMultiJvmSpec.scala @@ -9,7 +9,7 @@ object RoundRobinRoutedRemoteActorMultiJvmSpec { val NrOfNodes = 4 class SomeActor extends Actor with Serializable { def receive = { - case "hit" ⇒ reply(app.nodename) + case "hit" ⇒ channel ! app.nodename case "end" ⇒ self.stop() } } diff --git a/akka-remote/src/test/scala/akka/serialization/ActorSerializeSpec.scala b/akka-remote/src/test/scala/akka/serialization/ActorSerializeSpec.scala index 6a31c6eea3..7c87c5e570 100644 --- a/akka-remote/src/test/scala/akka/serialization/ActorSerializeSpec.scala +++ b/akka-remote/src/test/scala/akka/serialization/ActorSerializeSpec.scala @@ -128,7 +128,7 @@ class MyJavaSerializableActor extends Actor with scala.Serializable { def receive = { case "hello" ⇒ count = count + 1 - reply("world " + count) + channel ! "world " + count } } @@ -136,7 +136,7 @@ class MyStatelessActorWithMessagesInMailbox extends Actor with scala.Serializabl def receive = { case "hello" ⇒ Thread.sleep(500) - case "hello-reply" ⇒ reply("world") + case "hello-reply" ⇒ channel ! "world" } } @@ -144,7 +144,7 @@ class MyActorWithProtobufMessagesInMailbox extends Actor with scala.Serializable def receive = { case m: Message ⇒ Thread.sleep(500) - case "hello-reply" ⇒ reply("world") + case "hello-reply" ⇒ channel ! "world" } } @@ -152,6 +152,6 @@ class PersonActorWithMessagesInMailbox extends Actor with scala.Serializable { def receive = { case p: Person ⇒ Thread.sleep(500) - case "hello-reply" ⇒ reply("hello") + case "hello-reply" ⇒ channel ! "hello" } } diff --git a/akka-samples/akka-sample-camel/src/main/java/sample/camel/UntypedConsumer1.java b/akka-samples/akka-sample-camel/src/main/java/sample/camel/UntypedConsumer1.java index 8a09ed2c0f..dc89a22ceb 100644 --- a/akka-samples/akka-sample-camel/src/main/java/sample/camel/UntypedConsumer1.java +++ b/akka-samples/akka-sample-camel/src/main/java/sample/camel/UntypedConsumer1.java @@ -15,6 +15,6 @@ public class UntypedConsumer1 extends UntypedConsumerActor { public void onReceive(Object message) { Message msg = (Message)message; String body = msg.getBodyAs(String.class); - tryReply(String.format("received %s", body)); + channel.tryTell(String.format("received %s", body)); } } diff --git a/akka-samples/akka-sample-camel/src/main/scala/sample/camel/Actors.scala b/akka-samples/akka-sample-camel/src/main/scala/sample/camel/Actors.scala index 1208e5fae0..35654bc264 100644 --- a/akka-samples/akka-sample-camel/src/main/scala/sample/camel/Actors.scala +++ b/akka-samples/akka-sample-camel/src/main/scala/sample/camel/Actors.scala @@ -12,7 +12,7 @@ class RemoteActor1 extends Actor with Consumer { def endpointUri = "jetty:http://localhost:6644/camel/remote-actor-1" protected def receive = { - case msg: Message ⇒ reply(Message("hello %s" format msg.bodyAs[String], Map("sender" -> "remote1"))) + case msg: Message ⇒ channel ! Message("hello %s" format msg.bodyAs[String], Map("sender" -> "remote1")) } } @@ -23,7 +23,7 @@ class RemoteActor2 extends Actor with Consumer { def endpointUri = "jetty:http://localhost:6644/camel/remote-actor-2" protected def receive = { - case msg: Message ⇒ reply(Message("hello %s" format msg.bodyAs[String], Map("sender" -> "remote2"))) + case msg: Message ⇒ channel ! Message("hello %s" format msg.bodyAs[String], Map("sender" -> "remote2")) } } @@ -44,7 +44,7 @@ class Consumer2 extends Actor with Consumer { def endpointUri = "jetty:http://0.0.0.0:8877/camel/default" def receive = { - case msg: Message ⇒ reply("Hello %s" format msg.bodyAs[String]) + case msg: Message ⇒ channel ! ("Hello %s" format msg.bodyAs[String]) } } @@ -62,10 +62,10 @@ class Consumer4 extends Actor with Consumer { def receive = { case msg: Message ⇒ msg.bodyAs[String] match { case "stop" ⇒ { - reply("Consumer4 stopped") + channel ! "Consumer4 stopped" self.stop } - case body ⇒ reply(body) + case body ⇒ channel ! body } } } @@ -76,7 +76,7 @@ class Consumer5 extends Actor with Consumer { def receive = { case _ ⇒ { Actor.actorOf[Consumer4] - reply("Consumer4 started") + channel ! "Consumer4 started" } } } @@ -106,7 +106,7 @@ class PublisherBridge(uri: String, publisher: ActorRef) extends Actor with Consu protected def receive = { case msg: Message ⇒ { publisher ! msg.bodyAs[String] - reply("message published") + channel ! "message published" } } } @@ -135,8 +135,8 @@ class HttpProducer(transformer: ActorRef) extends Actor with Producer { class HttpTransformer extends Actor { protected def receive = { - case msg: Message ⇒ reply(msg.transformBody { body: String ⇒ body replaceAll ("Akka ", "AKKA ") }) - case msg: Failure ⇒ reply(msg) + case msg: Message ⇒ channel ! (msg.transformBody { body: String ⇒ body replaceAll ("Akka ", "AKKA ") }) + case msg: Failure ⇒ channel ! msg } } @@ -150,11 +150,11 @@ class FileConsumer extends Actor with Consumer { case msg: Message ⇒ { if (counter == 2) { println("received %s" format msg.bodyAs[String]) - reply(Ack) + channel ! Ack } else { println("rejected %s" format msg.bodyAs[String]) counter += 1 - reply(Failure(new Exception("message number %s not accepted" format counter))) + channel ! Failure(new Exception("message number %s not accepted" format counter)) } } } diff --git a/akka-samples/akka-sample-camel/src/test/java/sample/camel/SampleRemoteUntypedConsumer.java b/akka-samples/akka-sample-camel/src/test/java/sample/camel/SampleRemoteUntypedConsumer.java index b0f3486e9a..cc4c5d8c48 100644 --- a/akka-samples/akka-sample-camel/src/test/java/sample/camel/SampleRemoteUntypedConsumer.java +++ b/akka-samples/akka-sample-camel/src/test/java/sample/camel/SampleRemoteUntypedConsumer.java @@ -15,7 +15,7 @@ public class SampleRemoteUntypedConsumer extends UntypedConsumerActor { Message msg = (Message)message; String body = msg.getBodyAs(String.class); String header = msg.getHeaderAs("test", String.class); - tryReply(String.format("%s %s", body, header)); + channel.tryTell(String.format("%s %s", body, header)); } } diff --git a/akka-samples/akka-sample-camel/src/test/scala/sample/camel/HttpConcurrencyTestStress.scala b/akka-samples/akka-sample-camel/src/test/scala/sample/camel/HttpConcurrencyTestStress.scala index 5a19bf5cdf..f10f050633 100644 --- a/akka-samples/akka-sample-camel/src/test/scala/sample/camel/HttpConcurrencyTestStress.scala +++ b/akka-samples/akka-sample-camel/src/test/scala/sample/camel/HttpConcurrencyTestStress.scala @@ -66,7 +66,7 @@ object HttpConcurrencyTestStress { var correlationIds = Set[Any]() override protected def receive = { - case "getCorrelationIdCount" ⇒ reply(correlationIds.size) + case "getCorrelationIdCount" ⇒ channel ! correlationIds.size case msg ⇒ super.receive(msg) } @@ -93,7 +93,7 @@ object HttpConcurrencyTestStress { class HttpServerWorker extends Actor { protected def receive = { - case msg ⇒ reply(msg) + case msg ⇒ channel ! msg } } } diff --git a/akka-samples/akka-sample-camel/src/test/scala/sample/camel/RemoteConsumerTest.scala b/akka-samples/akka-sample-camel/src/test/scala/sample/camel/RemoteConsumerTest.scala index 79ddae9bbc..e5433b1096 100644 --- a/akka-samples/akka-sample-camel/src/test/scala/sample/camel/RemoteConsumerTest.scala +++ b/akka-samples/akka-sample-camel/src/test/scala/sample/camel/RemoteConsumerTest.scala @@ -94,8 +94,8 @@ object RemoteConsumerTest { def endpointUri = "direct:remote-consumer" protected def receive = { - case "init" ⇒ reply("done") - case m: Message ⇒ reply("remote actor: %s" format m.body) + case "init" ⇒ channel ! "done" + case m: Message ⇒ channel ! ("remote actor: %s" format m.body) } } } diff --git a/akka-stm/src/main/scala/akka/agent/Agent.scala b/akka-stm/src/main/scala/akka/agent/Agent.scala index a9ae2a63c4..175bd87c5c 100644 --- a/akka-stm/src/main/scala/akka/agent/Agent.scala +++ b/akka-stm/src/main/scala/akka/agent/Agent.scala @@ -288,8 +288,8 @@ class AgentUpdater[T](agent: Agent[T]) extends Actor { def receive = { case update: Update[_] ⇒ - tryReply(atomic(txFactory) { agent.ref alter update.function.asInstanceOf[T ⇒ T] }) - case Get ⇒ reply(agent.get) + channel.tryTell(atomic(txFactory) { agent.ref alter update.function.asInstanceOf[T ⇒ T] }) + case Get ⇒ channel ! agent.get case _ ⇒ () } } @@ -302,7 +302,7 @@ class ThreadBasedAgentUpdater[T](agent: Agent[T]) extends Actor { def receive = { case update: Update[_] ⇒ try { - tryReply(atomic(txFactory) { agent.ref alter update.function.asInstanceOf[T ⇒ T] }) + channel.tryTell(atomic(txFactory) { agent.ref alter update.function.asInstanceOf[T ⇒ T] }) } finally { agent.resume() self.stop() diff --git a/akka-stm/src/test/java/akka/transactor/example/UntypedCoordinatedCounter.java b/akka-stm/src/test/java/akka/transactor/example/UntypedCoordinatedCounter.java index 128a25bcf0..035c195c7e 100644 --- a/akka-stm/src/test/java/akka/transactor/example/UntypedCoordinatedCounter.java +++ b/akka-stm/src/test/java/akka/transactor/example/UntypedCoordinatedCounter.java @@ -32,7 +32,7 @@ public class UntypedCoordinatedCounter extends UntypedActor { } else if (incoming instanceof String) { String message = (String) incoming; if (message.equals("GetCount")) { - reply(count.get()); + getChannel().tell(count.get()); } } } diff --git a/akka-stm/src/test/java/akka/transactor/example/UntypedCounter.java b/akka-stm/src/test/java/akka/transactor/example/UntypedCounter.java index 5cad6e0e64..377e3560da 100644 --- a/akka-stm/src/test/java/akka/transactor/example/UntypedCounter.java +++ b/akka-stm/src/test/java/akka/transactor/example/UntypedCounter.java @@ -26,7 +26,7 @@ public class UntypedCounter extends UntypedTransactor { @Override public boolean normally(Object message) { if ("GetCount".equals(message)) { - reply(count.get()); + getChannel().tell(count.get()); return true; } else return false; } diff --git a/akka-stm/src/test/java/akka/transactor/test/UntypedCoordinatedCounter.java b/akka-stm/src/test/java/akka/transactor/test/UntypedCoordinatedCounter.java index c23d961055..90636b99f3 100644 --- a/akka-stm/src/test/java/akka/transactor/test/UntypedCoordinatedCounter.java +++ b/akka-stm/src/test/java/akka/transactor/test/UntypedCoordinatedCounter.java @@ -57,7 +57,7 @@ public class UntypedCoordinatedCounter extends UntypedActor { } else if (incoming instanceof String) { String message = (String) incoming; if (message.equals("GetCount")) { - reply(count.get()); + getChannel().tell(count.get()); } } } diff --git a/akka-stm/src/test/java/akka/transactor/test/UntypedCounter.java b/akka-stm/src/test/java/akka/transactor/test/UntypedCounter.java index 1b561a2d25..4e3f3fde71 100644 --- a/akka-stm/src/test/java/akka/transactor/test/UntypedCounter.java +++ b/akka-stm/src/test/java/akka/transactor/test/UntypedCounter.java @@ -70,7 +70,7 @@ public class UntypedCounter extends UntypedTransactor { @Override public boolean normally(Object message) { if ("GetCount".equals(message)) { - reply(count.get()); + getChannel().tell(count.get()); return true; } else return false; } diff --git a/akka-stm/src/test/scala/transactor/CoordinatedIncrementSpec.scala b/akka-stm/src/test/scala/transactor/CoordinatedIncrementSpec.scala index 38d0496f43..35b6128fb1 100644 --- a/akka-stm/src/test/scala/transactor/CoordinatedIncrementSpec.scala +++ b/akka-stm/src/test/scala/transactor/CoordinatedIncrementSpec.scala @@ -34,7 +34,7 @@ object CoordinatedIncrement { } } - case GetCount ⇒ reply(count.get) + case GetCount ⇒ channel ! count.get } } diff --git a/akka-stm/src/test/scala/transactor/FickleFriendsSpec.scala b/akka-stm/src/test/scala/transactor/FickleFriendsSpec.scala index 29a1bd82e3..18b08f920c 100644 --- a/akka-stm/src/test/scala/transactor/FickleFriendsSpec.scala +++ b/akka-stm/src/test/scala/transactor/FickleFriendsSpec.scala @@ -56,7 +56,7 @@ object FickleFriends { } } - case GetCount ⇒ reply(count.get) + case GetCount ⇒ channel ! count.get } } @@ -93,7 +93,7 @@ object FickleFriends { } } - case GetCount ⇒ reply(count.get) + case GetCount ⇒ channel ! count.get } } } diff --git a/akka-stm/src/test/scala/transactor/TransactorSpec.scala b/akka-stm/src/test/scala/transactor/TransactorSpec.scala index 32b5034847..52313ace13 100644 --- a/akka-stm/src/test/scala/transactor/TransactorSpec.scala +++ b/akka-stm/src/test/scala/transactor/TransactorSpec.scala @@ -49,7 +49,7 @@ object TransactorIncrement { } override def normally = { - case GetCount ⇒ reply(count.get) + case GetCount ⇒ channel ! count.get } } diff --git a/akka-testkit/src/main/scala/akka/testkit/TestKit.scala b/akka-testkit/src/main/scala/akka/testkit/TestKit.scala index f4541f97f6..42abee6c04 100644 --- a/akka-testkit/src/main/scala/akka/testkit/TestKit.scala +++ b/akka-testkit/src/main/scala/akka/testkit/TestKit.scala @@ -224,14 +224,6 @@ class TestKit(_app: AkkaApplication) { */ def within[T](max: Duration)(f: ⇒ T): T = within(0 seconds, max)(f) - /** - * Send reply to the last dequeued message. Will throw - * IllegalActorStateException if no message has been dequeued, yet. Dequeuing - * means reception of the message as part of an expect... or receive... call, - * not reception by the testActor. - */ - def reply(msg: AnyRef) { lastMessage.channel.!(msg)(testActor) } - /** * Same as `expectMsg(remaining, obj)`, but correctly treating the timeFactor. */ diff --git a/akka-testkit/src/test/scala/akka/testkit/TestActorRefSpec.scala b/akka-testkit/src/test/scala/akka/testkit/TestActorRefSpec.scala index 4546c60a85..3f1cc7d1d1 100644 --- a/akka-testkit/src/test/scala/akka/testkit/TestActorRefSpec.scala +++ b/akka-testkit/src/test/scala/akka/testkit/TestActorRefSpec.scala @@ -48,14 +48,14 @@ object TestActorRefSpec { val worker = TestActorRef(Props[WorkerActor]) worker ! channel case "workDone" ⇒ replyTo ! "complexReply" - case "simpleRequest" ⇒ reply("simpleReply") + case "simpleRequest" ⇒ channel ! "simpleReply" } } class WorkerActor() extends TActor { def receiveT = { case "work" ⇒ { - reply("workDone") + channel ! "workDone" self.stop() } case replyTo: UntypedChannel ⇒ { @@ -109,7 +109,7 @@ class TestActorRefSpec extends AkkaSpec with BeforeAndAfterEach { "used with TestActorRef" in { val a = TestActorRef(Props(new Actor { val nested = TestActorRef(Props(self ⇒ { case _ ⇒ })) - def receive = { case _ ⇒ reply(nested) } + def receive = { case _ ⇒ channel ! nested } })) a must not be (null) val nested = (a ? "any").as[ActorRef].get @@ -120,7 +120,7 @@ class TestActorRefSpec extends AkkaSpec with BeforeAndAfterEach { "used with ActorRef" in { val a = TestActorRef(Props(new Actor { val nested = context.actorOf(Props(self ⇒ { case _ ⇒ })) - def receive = { case _ ⇒ reply(nested) } + def receive = { case _ ⇒ channel ! nested } })) a must not be (null) val nested = (a ? "any").as[ActorRef].get diff --git a/akka-testkit/src/test/scala/akka/testkit/TestProbeSpec.scala b/akka-testkit/src/test/scala/akka/testkit/TestProbeSpec.scala index 6da2bf6439..e162cad834 100644 --- a/akka-testkit/src/test/scala/akka/testkit/TestProbeSpec.scala +++ b/akka-testkit/src/test/scala/akka/testkit/TestProbeSpec.scala @@ -16,7 +16,7 @@ class TestProbeSpec extends AkkaSpec { val tk = TestProbe() val future = tk.ref ? "hello" tk.expectMsg(0 millis, "hello") // TestActor runs on CallingThreadDispatcher - tk.reply("world") + tk.lastMessage.channel ! "world" future must be('completed) future.get must equal("world") } @@ -26,7 +26,7 @@ class TestProbeSpec extends AkkaSpec { val tk2 = TestProbe() tk1.ref.!("hello")(tk2.ref) tk1.expectMsg(0 millis, "hello") - tk1.reply("world") + tk1.lastMessage.channel ! "world" tk2.expectMsg(0 millis, "world") } @@ -35,7 +35,7 @@ class TestProbeSpec extends AkkaSpec { val probe2 = TestProbe() probe1.send(probe2.ref, "hello") probe2.expectMsg(0 millis, "hello") - probe2.reply("world") + probe2.lastMessage.channel ! "world" probe1.expectMsg(0 millis, "world") } diff --git a/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/first/java/Pi.java b/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/first/java/Pi.java index 8db364396f..1a179052ec 100644 --- a/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/first/java/Pi.java +++ b/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/first/java/Pi.java @@ -83,7 +83,7 @@ public class Pi { double result = calculatePiFor(work.getStart(), work.getNrOfElements()); // reply with the result - reply(new Result(result)); + getChannel().tell(new Result(result)); } else throw new IllegalArgumentException("Unknown message [" + message + "]"); } diff --git a/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala b/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala index 1150538109..05e05abf20 100644 --- a/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala +++ b/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala @@ -43,7 +43,7 @@ object Pi extends App { def receive = { case Work(start, nrOfElements) ⇒ - reply(Result(calculatePiFor(start, nrOfElements))) // perform the work + channel ! Result(calculatePiFor(start, nrOfElements)) // perform the work } } diff --git a/akka-tutorials/akka-tutorial-second/src/main/java/akka/tutorial/java/second/Pi.java b/akka-tutorials/akka-tutorial-second/src/main/java/akka/tutorial/java/second/Pi.java index 8b1e924101..55cd4dbe66 100644 --- a/akka-tutorials/akka-tutorial-second/src/main/java/akka/tutorial/java/second/Pi.java +++ b/akka-tutorials/akka-tutorial-second/src/main/java/akka/tutorial/java/second/Pi.java @@ -80,7 +80,7 @@ public class Pi { public void onReceive(Object message) { if (message instanceof Work) { Work work = (Work) message; - reply(new Result(calculatePiFor(work.getArg(), work.getNrOfElements()))); // perform the work + getChannel().tell(new Result(calculatePiFor(work.getArg(), work.getNrOfElements()))); // perform the work } else throw new IllegalArgumentException("Unknown message [" + message + "]"); } } diff --git a/akka-tutorials/akka-tutorial-second/src/main/scala/Pi.scala b/akka-tutorials/akka-tutorial-second/src/main/scala/Pi.scala index 84541abc8a..67841c7a60 100644 --- a/akka-tutorials/akka-tutorial-second/src/main/scala/Pi.scala +++ b/akka-tutorials/akka-tutorial-second/src/main/scala/Pi.scala @@ -41,7 +41,7 @@ object Pi extends App { def receive = { case Work(arg, nrOfElements) ⇒ - reply(Result(calculatePiFor(arg, nrOfElements))) // perform the work + channel ! Result(calculatePiFor(arg, nrOfElements)) // perform the work } }