这里是Akka的新手,我有三个不同的示例,并且三个都使用非常不同的类来实现actor,
AbstractActor:https://www.baeldung.com/akka-with-spring
UntypedActor:https://www.baeldung.com/akka-actors-java
AbstractBehavior:https://doc.akka.io/docs/akka/current/typed/guide/tutorial_1.html
前两个看起来非常简单明了,类似于我在Erlang上使用并看到的actor模型实现。 官方文档中的一个看起来最复杂。
所以我对使用哪个以及何时使用感到有些困惑?
答案 0 :(得分:1)
akka.actor.typed.javadsl.AbstractBehavior
是用于参与者的新的“类型化” Java API,它稍微冗长一些,但可以为您提供更好的类型安全性。我们建议从Akka开始的新项目从2.6开始使用它,并向前发展。akka.actor.AbstractActor
是针对演员的“经典”(Akka 2.6之前的)Java API,它在Java 8中添加了对Lambdas的支持。由于新的API并没有消失,但将会在不久的将来出现。很长一段时间,因为许多系统都是使用它构建的。akka.actor.UntypedActor
是Java 8之前的较早的Actor Java API,在Akka 2.5中已弃用,现在(2.6)已删除。