Я пытаюсь использовать этот akka-кварц-планировщик в моем игровом проекте.Я создал двух актеров akka, добавил конфигурацию для актеров:
akka {
quartz {
schedules {
HELLO_ACTOR {
description = "A cron job that fires off every 10 seconds"
expression = "0/10 0 0 ? * * *"
}
CLEANUP_ACTOR {
description = "A cron job that fires off every 10 seconds"
expression = "0/10 0 0 ? * * *"
}
}
}
}
Я создал модуль и добавил планировщик, где я связываю актеров и планировщик:
protected void configure() {
bindActor(HelloActor.class, HelloActor.NAME);
bindActor(CleanupRunner.class, CleanupRunner.NAME);
bind(QuartzSchedulerHelper.class).asEagerSingleton();
bind(QuartzSchedulerExtension.class).toProvider(SchedulerJobInitializer.class);
}
private static class SchedulerJobInitializer implements Provider<QuartzSchedulerExtension> {
private final QuartzSchedulerExtension quartzSchedulerExtension;
@Inject
public SchedulerJobInitializer(ActorSystem actorSystem) {
this.quartzSchedulerExtension = new QuartzSchedulerExtension((ExtendedActorSystem) actorSystem);
}
@Override
public QuartzSchedulerExtension get() {
return quartzSchedulerExtension;
}
}
Когда приложение запускается, я вижу вЖурнал, что актеры были добавлены в планировщик:
2018-07-06 11:51:44,947 [INFO] from org.quartz.impl.DirectSchedulerFactory in play-dev-mode-akka.actor.default-dispatcher-2 - Quartz scheduler 'QuartzScheduler~application
2018-07-06 11:51:44,947 [INFO] from org.quartz.impl.DirectSchedulerFactory in play-dev-mode-akka.actor.default-dispatcher-2 - Quartz scheduler version: 2.2.3
2018-07-06 11:51:44,950 [INFO] from org.quartz.core.QuartzScheduler in play-dev-mode-akka.actor.default-dispatcher-2 - Scheduler QuartzScheduler~application_$_application started.
2018-07-06 11:51:44,974 [INFO] from com.typesafe.akka.extension.quartz.QuartzSchedulerExtension in application-akka.actor.default-dispatcher-2 - Setting up scheduled job 'HELLO_ACTOR', with 'com.typesafe.akka.extension.quartz.QuartzCronSchedule@6a6c7b3b'
2018-07-06 11:51:45,005 [INFO] from com.typesafe.akka.extension.quartz.QuartzSchedulerExtension in application-akka.actor.default-dispatcher-2 - Setting up scheduled job 'CLEANUP_ACTOR', with 'com.typesafe.akka.extension.quartz.QuartzCronSchedule@2c32247d'
Acotrs должны запускаться каждые 10 секунд.Любая причина, почему это не работает, или что я должен добавить и где?
Вот код на github .