我正在尋找簡單的示例/手動/使用Akka Aktor PlayFramework與Java中的使用。 我已經試過這個教程: https://www.playframework.com/documentation/2.2.x/JavaAkka 但我不能讓它編譯。playframework每天與Akka運行任務
我想在每24個房間計算一些數據並從系統發送一封電子郵件。我想爲它使用Aktor。
我用playFramework 2.2.x的
我正在尋找簡單的示例/手動/使用Akka Aktor PlayFramework與Java中的使用。 我已經試過這個教程: https://www.playframework.com/documentation/2.2.x/JavaAkka 但我不能讓它編譯。playframework每天與Akka運行任務
我想在每24個房間計算一些數據並從系統發送一封電子郵件。我想爲它使用Aktor。
我用playFramework 2.2.x的
我的工作液(用於playFramework 2.2.4)的基礎上一篇:https://stackoverflow.com/a/14706767/1066240
在/app/Global.java我Global.java類
import org.joda.time.DateTime;
import org.joda.time.Seconds;
import actions.ValidateApplicationLicence;
import akka.actor.ActorRef;
import akka.actor.Props;
import play.Application;
import play.GlobalSettings;
import play.Logger;
import play.libs.Akka;
import scala.concurrent.duration.Duration;
import java.util.concurrent.TimeUnit;
public class Global extends GlobalSettings {
//ActorRef myActor = Akka.system().actorOf(new Props(ValidateApplicationLicence.class));
@Override
public void onStart(Application application) {
Akka.system().scheduler().schedule(
Duration.create(20, TimeUnit.SECONDS),
Duration.create(5, TimeUnit.SECONDS),
new Runnable() {
@Override
public void run() {
Logger.info("After 10 sec and after EVERY 5 sec --- " + controllers.common.Index.getDate(null));
}
},
Akka.system().dispatcher()
);
Akka.system().scheduler().scheduleOnce(
Duration.create(10, TimeUnit.MILLISECONDS),
new Runnable() {
public void run() {
Logger.info("ON START --- " + controllers.common.Index.getDate(null));
}
},
Akka.system().dispatcher()
);
// Akka.system().scheduler().schedule(
// Duration.create(0, TimeUnit.MILLISECONDS), //Initial delay 0 milliseconds
// Duration.create(30, TimeUnit.MINUTES), //Frequency 30 minutes
// myActor,
// "tick",
// Akka.system().dispatcher(),
// null
// );
}
public static int nextExecutionInSeconds(int hour, int minute){
return Seconds.secondsBetween(
new DateTime(),
nextExecution(hour, minute)
).getSeconds();
}
public static DateTime nextExecution(int hour, int minute){
DateTime next = new DateTime()
.withHourOfDay(hour)
.withMinuteOfHour(minute)
.withSecondOfMinute(0)
.withMillisOfSecond(0);
return (next.isBeforeNow())
? next.plusHours(24)
: next;
}
}
沒有爲Play 2.0.4 in Java在2.1幾件事情變了樣,反正(主要是進口)
感謝它幫了我:d – masterdany88 2014-09-29 08:17:29