是否有一种方法可以在Java中开始使用Akka类型的Behavior
。? 原因很简单,在第一阶段,Behavior
等待某种类型的消息,用它初始化自己,并且每隔一个消息stash()
直到它得到该消息,然后unstash()
它们并正常进行。
功能,这无疑是可行的,当然,但有办法这样做AbstractBehavior
createReceive()
方法,因为一个不允许我返回一个藏匿通过Behaviors.withStash( stash -> ...)
Behavior
,因为它预计Receive
?
在OO API中,我期望的方法是通过静态create
方法的构造函数参数注入存储。
// Apologies if this Java is atrocious
public class ActorWithAStash extends AbstractBehavior<ActorWithAStash.Command> {
public static Behavior<Command> create() {
Behaviors.setup(context ->
Behaviors.withStash(100, stash ->
new ActorWithAStash(context, stash)
)
);
}
public interface Command;
private ActorWithAStash(ActorContext<Command> context, StashBuffer<Command> stash) {
this.context = context;
this.stash = stash;
}
private ActorContext<Command> context;
private StashBuffer<Command> stash;
}