Ich versuche mit akka-quartz-scheduler in regelmäßigen Abständen ein Bereinigungsereignis auszulösen. Ich bekomme den Scheduler, um die Nachricht an den Akteur zu senden, aber nur, wenn dem Zeitplan kein Kalender zugeordnet ist. Immer wenn ich einen Kalender an einen Zeitplan anschließe, erhält der Schauspieler niemals Nachrichten.Akka-Quartz-Scheduler löst nie meinen Akteur aus
Dies ist der Abschnitt application.conf, der für akka-quartz-scheduler relevant ist. Wenn ich die Linie
Kalender = [ "Minimal"]“
aus der Config, meine Schauspieler ausgelöst entfernen. Wenn ich die Linie in, verlassen wird kein Schauspieler genannt.
akka {
quartz {
defaultTimezone = "Europe/Oslo"
schedules {
NowAndThen {
description ="Delete temp files now and then, eg every hour"
expression = "*/10 * * * * ?"
calendars = ["Minimal"]
}
}
calendars {
Minimal {
type = Daily
exclude {
startTime = "15:00"
endTime = "15:01"
}
}
}
}
}
I am Initialisieren der Erweiterung von einer playframework Anwendung, in Global.java:
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Extension;
import akka.actor.Props;
import com.typesafe.akka.extension.quartz.QuartzSchedulerExtension;
import play.Application;
import play.GlobalSettings;
import play.Logger;
import play.libs.Akka;
import uttrekk.CleanupRunner;
public class Global extends GlobalSettings {
public void onStart(Application app) {
AkkaStartUp.startup(app);
}
static class AkkaStartUp {
public static void startup(Application app) {
// Starter autoamtiske avelveringer norges eiendommer
ActorSystem system = Akka.system();
ActorRef cleanupRef =system.actorOf(new Props(CleanupRunner.class));
QuartzSchedulerExtension scheduler = (QuartzSchedulerExtension) QuartzSchedulerExtension.get(system);
scheduler.schedule("NowAndThen",cleanupRef,"Clean");
}
}
}
der Schauspieler Implementierung in etwa wie folgt aussieht:
Haben Sie eine Lösung gefunden? Ich habe das gleiche Problem. – Frane