下面是一个使用Akka框架的示例代码,演示了如何创建两个Akka Actor并使它们互相发送消息。
首先,我们需要导入Akka库的依赖:
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.6.10"
然后,我们创建两个Actor,一个是发送消息的Actor(SenderActor),另一个是接收消息的Actor(ReceiverActor):
import akka.actor.{Actor, ActorSystem, Props}
case class Message(content: String)
class SenderActor(receiver: ActorRef) extends Actor {
def receive: Receive = {
case "start" =>
println("Sending message...")
val message = Message("Hello, Akka!")
receiver ! message
}
}
class ReceiverActor extends Actor {
def receive: Receive = {
case message: Message =>
println(s"Received message: ${message.content}")
}
}
接下来,我们需要创建一个ActorSystem,并使用Props创建Actor实例:
object Main extends App {
val system = ActorSystem("AkkaDemo")
val receiver = system.actorOf(Props[ReceiverActor], "receiver")
val sender = system.actorOf(Props(new SenderActor(receiver)), "sender")
sender ! "start"
}
在上面的示例中,我们创建了一个名为"AkkaDemo"的ActorSystem,并创建了一个名为"receiver"的ReceiverActor实例和一个名为"sender"的SenderActor实例。然后,我们向SenderActor发送一个"start"消息,它将触发发送一个Message消息给ReceiverActor。
当ReceiverActor接收到Message消息时,它将打印收到的消息内容。
通过运行上述代码,你将看到输出打印出"Received message: Hello, Akka!",表示成功地通过Akka框架发送和接收了消息。
上一篇:Akka版本不匹配问题