可以使用变量来存储Duration.ofMinutes的值,并在运行时更改该变量的值。以下是示例代码:
import akka.actor.ActorSystem;
import java.time.Duration;
public class Example {
public static void main(String[] args) {
ActorSystem system = ActorSystem.create("ExampleSystem");
// 初始的延迟时间和重复时间,以分钟为单位
long initialDelay = 0;
long delay = 5;
// 在变量中存储Duration.ofMinutes的值
Duration duration = Duration.ofMinutes(delay);
system.scheduler().scheduleAtFixedRate(
// 初始的延迟时间,以秒为单位
Duration.ofSeconds(initialDelay),
// 使用变量的值作为重复时间
duration,
// 定期执行的任务
() -> {
System.out.println("执行定期任务");
},
// 执行任务的执行上下文
system.dispatcher()
);
// 在运行时更改变量的值
duration = Duration.ofMinutes(10);
// 等待5秒钟后停止ActorSystem
system.scheduler().scheduleOnce(
Duration.ofSeconds(5),
() -> {
system.terminate();
},
system.dispatcher()
);
}
}