最近在学习akka这个框架, 有个地方不太明白,想寻求下帮助,
在官方给的例子中(如下代码): public class Greeting implements Serializable { public final String who; public Greeting(String who) { this.who = who; } } public class GreetingActor extends UntypedActor { LoggingAdapter log = Logging.getLogger(getContext().system(), this); public void onReceive(Object message) throws Exception { if (message instanceof Greeting) log.info("Hello " + ((Greeting) message).who); } } ActorSystem system = ActorSystem.create("MySystem"); ActorRef greeter = system.actorOf(Props.create(GreetingActor.class), "greeter"); greeter.tell(new Greeting("Charlie Parker"), ActorRef.noSender());
都是只有发送消息,那么接收消息方接到消息完成处理后如何把处理结果返回给发送消息的地方呢(没法有找到相关代码)?
同一个ActorRef的对象可以重复使用吗? actorOf()方法是创建Actor,那么每次使用的时候都要进行创建吗?还是用actorFor也取得之前创建过的就可以?即一种业务的actorRef对象只存在一个就可以,之后调用已存在的就行?
另外问一下akka与disruptor两个框架哪个适合运用在项目中?