<dependencies>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.12</artifactId>
<version>2.6.10</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.12.4</version>
</dependency>
</dependencies>
import akka.actor.AbstractActor;
public class MyActor extends AbstractActor {
public static class MyMessage {
private final String content;
public MyMessage(String content) {
this.content = content;
}
public String getContent() {
return content;
}
}
@Override
public Receive createReceive() {
return receiveBuilder()
.match(MyMessage.class, msg -> {
System.out.println("Received Message: " + msg.getContent());
})
.build();
}
}
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
public class Main {
public static void main(String[] args) {
ActorSystem system = ActorSystem.create("MySystem");
ActorRef myActor = system.actorOf(MyActor.props(), "myActor");
MyActor.MyMessage message = new MyActor.MyMessage("Hello Akka!");
myActor.tell(message, ActorRef.noSender());
system.terminate();
}
}