gpt4 book ai didi

java - 主管策略 : Compile error - Resume/Restart/Stop/Escalate incompatible with Directive

转载 作者:行者123 更新时间:2023-12-02 11:03:50 24 4
gpt4 key购买 nike

这是我第一次尝试 akka - 我被困住了。
我找到了一些 tutorial code on the official akka website它设置了一个主管策略,但我不断收到以下 4 个编译错误:

Incompatible types.

Required: akka.actor.SupervisorStrategy.Directive

Found: akka.actor.SupervisorStrategy.Resume <--same for Restart, Stop, Escalate



我的直觉告诉我,我遇到了一些非常基本的错误,下面是我使用的库和一个最小的失败示例。

干杯,塞布

库:scala-library:2.11.2、akka-actor_2.11:2.3.5、jdk 1.7.0_45
import akka.actor.OneForOneStrategy;
import akka.actor.SupervisorStrategy;
import akka.actor.UntypedActor;
import akka.japi.Function;
import scala.concurrent.duration.Duration;

import static akka.actor.SupervisorStrategy.*;

class MyWorker extends UntypedActor {

private static SupervisorStrategy supervisorStrategy =
new OneForOneStrategy(10, Duration.create("1 minute"),
new Function<Throwable, Directive>() {
@Override
public Directive apply(Throwable t) {
if (t instanceof ArithmeticException) {
return SupervisorStrategy.resume();
} else if (t instanceof NullPointerException) {
return restart();
} else if (t instanceof IllegalArgumentException) {
return stop();
} else {
return escalate();
}
}
});


@Override
public void onReceive(Object message) throws Exception {
}
}

最佳答案

解决了。这是两个问题:

a) 原来 IntelliJ IDEA 12 似乎在 Scala 上存在问题。 13.1 版就像一个开箱即用的魅力。

b) 在我明确静态导入(例如 import static akka.actor.SupervisorStrategy.resume)后,maven 不再提示缺少 SupervisorStrategy$1.class。

关于java - 主管策略 : Compile error - Resume/Restart/Stop/Escalate incompatible with Directive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25477057/

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