我正在尝试使用akka每分钟执行一个方法。虽然我没有错误,但方法永远不会执行!! 我试图扩展play.api.globalsettings,但我得到了一个错误。所以我实现了它。
这是我的代码:
public class Global implements play.api.GlobalSettings {
ActorRef tickActor;
@Override
public void beforeStart(Application app) {
}
@Override
public void onStart(play.api.Application app) {
{
Akka.system().scheduler().schedule(
Duration.create(0, TimeUnit.MILLISECONDS),
Duration.create(1, TimeUnit.MINUTES),
new Runnable() {
public void run() {
Secured securedObject = new Secured();
securedObject.deleteExpiredTokensAndUsers();
}
},
Akka.system().dispatcher()
);
}
任何想法?
答案 0 :(得分:2)
在java应用程序中,你应该从play.GlobalSettings扩展而不是播放。 api .GlobalSettings
在Play Framework 2中,对于Java应用程序,您应该使用框架的播放包,对于Scala应用程序,您可以使用play.api包。他们可能有很多共同的课程,但它们并不相同。
答案 1 :(得分:0)
谢谢dribba,让它解决了。这是我的代码:
import controllers.Secured;
import play.Application;
import play.GlobalSettings;
import play.libs.Akka;
import scala.concurrent.duration.Duration;
import java.util.concurrent.TimeUnit;
/**
* Created by Admin on 4/3/14.
*/
public class Global extends GlobalSettings {
@Override
public void onStart(Application application) {
Akka.system().scheduler().schedule(
Duration.create(0, TimeUnit.SECONDS),
Duration.create(5, TimeUnit.MINUTES),
new Runnable() {
@Override
public void run() {
Secured.deleteExpiredTokensAndUsers();
}
},
Akka.system().dispatcher()
);
}
}