protobuf
syntax = "proto3";
message Greeting {
string message = 1;
}
import akka.actor.AbstractActor;
import akka.event.Logging;
import akka.event.LoggingAdapter;
public class GreetingActor extends AbstractActor {
private final LoggingAdapter log = Logging.getLogger(getContext().system(), this);
@Override
public Receive createReceive() {
return receiveBuilder()
.match(Greeting.class, greeting -> {
log.info("Received greeting: {}", greeting.getMessage());
})
.build();
}
}
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Props;
public class Main {
public static void main(String[] args) {
ActorSystem system = ActorSystem.create("mySystem");
ActorRef greetingActor = system.actorOf(Props.create(GreetingActor.class), "greetingActor");
system.terminate();
}
}
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Props;
public class Sender {
public static void main(String[] args) {
ActorSystem system = ActorSystem.create("mySystem");
ActorRef greetingActor = system.actorOf(Props.create(GreetingActor.class), "greetingActor");
Greeting greeting = Greeting.newBuilder()
.setMessage("Hello World!")
.build();
greetingActor.tell(greeting, ActorRef.noSender());
system.terminate();
}
}