gpt4 book ai didi

java - Akka/Java getContext().become 带参数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:00 25 4
gpt4 key购买 nike

在 Akka/Scala 中,可以将参数传递给自定义接收函数,因此可以通过参数传递整个 actor 状态,而无需使用可变变量。

context.become(myCustomReceive(param1, param2))

但在 Java Api 中,您只能传递将接收到的消息作为唯一参数的过程

getContext().become( new Procedure<Object> {
public void apply(Object param) throws Exception
{
// ...
}
}

有没有一种干净的方法可以在 Java 中实现同样的技巧?

最佳答案

我会这样做

class ProcedureWithParams<T> extends Procedure<T> {
Object param1;
Object param2;

ProcedureWithParams(Object param1, Object param2) {
this.param1 = param1;
this.param2 = param2;
}

public void apply(Object param) throws Exception {
//access para1 and param2 here
}

}

getContext().become( new ProcedureWithParams(param1, param2))

关于java - Akka/Java getContext().become 带参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21455020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com