akka接收返回结果

         
yandong3389 14-01-25

最近在学习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两个框架哪个适合运用在项目中?




banq
2014-01-25 16:09

Akka是跨JVM, Disruptor是一个JVM内,见这个帖子开始部分有两者比较:
http://www.jdon.com/46039

yandong3389
2014-01-26 14:40

感谢banq,
明白了akka和disruptor的区别,,

可关于akka的使用还是有点迷惑,

比如我做一个登陆处理,应用akka如何来做,

现知道如何发送消息请求,业务处理也知道如何接收并处理请求,现在就是不明白用什么方法把处理结果返回去。。。