Akka 有点像 Java 的 RMI

红薯 发布于 2011/02/17 22:47
阅读 2K+
收藏 4

看看 Akka 实现一个远程的消息传递代码:

// server code
class HelloWorldActor extends UntypedActor {
  public void onReceive(Object msg) {
    getContext().reply(msg + " World");
  }
}
remote().start("localhost", 9999).register(
  "hello-service", 
   actorOf(HelloWorldActor.class));

// client code
ActorRef actor = remote().actorFor(
  "hello-service", "localhost", 9999);
Object res = actor.sendRequestReply("Hello");


这种代码像极了 Java 的 RMI 远程方法调用,但代码更加的简单直观,值得一试。

加载中
0
JavaGG
JavaGG

要装Scala 折腾呀

0
羊八井
羊八井

貌似不需要吧,akka有Java和Scala两种实现的。

0
szf
szf

不知道能不能callback?

没时间试试,试过的同学发表下哈。。。。

如果不行,那些还是继续用spring包装一下算了。

0
jilen
jilen
当然是可以callback的。akka有pipe和ask模式。pipe可以在一个future完成时把结果发送给一个actor。用ask发送一条消息时会获得一个future,可以对future进行各种composation
返回顶部
顶部