Kontraktor - Java 编写的轻量级高效 Actor 模型实现


LGPL
跨平台
Java

软件简介

Kontraktor 是一个 Java 编写的轻量级高效 Actor 模型实现。可以直接暴露 Actor 提供 TCP 服务、WebService 或者
WebSockets,从 JavaScript 客户端调用 Actor 方法,用 JavaScript 实现 Actor 并通过 Java 调用。
也是适用于 Java 8,面向(微)服务的分布式 Actor 模型实现。

特性

  • 简单的并发性

  • 写一次,处处运行

  • 高性能

示例代码

免费模板和 typed Actors

Kontraktor 使用普通的旧方法来隐式定义 Actor 消息。所以不需要定义“消息”类。这样,继承,接口,重构,代码完成和 Pojo 的方式一样。

public class HelloActor extends Actor<HelloActor> {
    public IPromise greet( String name ) {
        return new Promise("Hello "+name);
    }
    public static void main(String a[]) {
        HelloActor myService = AsActor(HelloActor.class);
        System.out.println( myService.greet("Kontraktor").await() );
    }
}

可以用“单线程角色的共享/消息传递”替换 Java 的“多线程/共享数据并发”模型。 不过 Kontraktor 在 Java
多线程编程方面表现良好,根据需要搭配使用。