Akka Java OneForOneStrategy示例无法编译

6

我正在尝试将OneForOneStrategy应用到一个简单的Hello-Akka程序中,如下所示,基于这份文档:http://doc.akka.io/docs/akka/2.3.2/java/fault-tolerance.html

private static SupervisorStrategy strategy = new OneForOneStrategy(10,
        Duration.create("1 minute"),
        new Function<Throwable, SupervisorStrategy.Directive>() {

            @Override
            public SupervisorStrategy.Directive apply(Throwable t) {
                if (t instanceof ArithmeticException) {
                    return resume();
                } else if (t instanceof NullPointerException) {
                    return restart();
                } else if (t instanceof IllegalArgumentException) {
                    return stop();
                } else {
                    return escalate();
                }
            }
        }
);

@Override
public SupervisorStrategy supervisorStrategy() {
    return strategy;
}

但是,简历/重新启动/停止/升级方法调用不能直接编译通过。为什么?


1
你遇到了什么错误? - Ivan Nevostruev
没关系,我解决了! - HiChews123
2个回答

5

只需添加下面列出的导入:

import static akka.actor.SupervisorStrategy.escalate;
import static akka.actor.SupervisorStrategy.restart;
import static akka.actor.SupervisorStrategy.resume;
import static akka.actor.SupervisorStrategy.stop;

2
我已经解决了这个问题。你只需要返回SupervisorStrategy.resume()、SupervisorStrategy.restart()等即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接