Kontraktor是一个Java编写的轻量级高效Actor模型实现。可以直接暴露Actor提供TCP服务、WebService或者WebSockets,从JavaScript客户端调用Actor方法,用JavaScript实现Actor并通过Java调用。也是适用于Java8,面向(微)服务的分布式Actor模型实现。
特性
简单的并发性
写一次,处处运行
高性能
示例代码
免费模板和typedActors
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多线程编程方面表现良好,根据需要搭配使用。
评论