我一直试图通过某种外部(与actor系统分开)控制器找到一种方法来控制actor系统中的运行时消息传递。换句话说,给定一个actor系统(我不想改变):我如何设置一种控制在其中传递的消息的控制器?
例如,假设给定的actor系统具有以下设置:
object Program extends App {
val system = ActorSystem("system")
val B = system.actorOf(Props[B], "B")
val A = system.actorOf(Props(new A(B)), "A")
A ! "Start"
system.terminate()
}
class A(B: ActorRef) extends Actor {
def receive = {case "Start" => B ! "Message"}
}
class B extends Actor {
def receive = {case "Message" => println("Some logic")}
}
我想完成以下任务:
在上面的例子中,我想要一个"控制器"这将做类似的事情:
简而言之,我希望外部控制器能够在运行时控制在actor系统中传递的消息。
我在想这个控制器可能是使用调度程序,路由器actor逻辑和期货来实现的。我没有在Akka文档中找到任何关于此的例子,所以这甚至可以实现吗?