【Playframework2.5】JavaAkkaのschedulerが利用できない
以下の環境でJavaAkkaを利用した定期処理を実装したいのですが、コンパイルエラーがとれない状況です。
解決法をご存知の方がいらっしゃいましたら手助けしていただけないでしょうか。
・IDE:eclipse Neon.1a Release (4.6.1)
・java:jdk1.8.0_91
・コンパイラ:java 1.8
・フレームワーク:playframework 2.5
package services;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import javax.inject.Singleton;
import akka.actor.ActorSystem;
import play.Logger;
import play.inject.ApplicationLifecycle;
@Singleton
public class MyApplicationGlobal {
@Inject
public MyApplicationGlobal(final ActorSystem system, ApplicationLifecycle lifecycle) {
// サーバ起動時の動作
Logger.info("----------------------------------- Start application... ------------------------------");
system.scheduler().schedule(
Duration.create(0, TimeUnit.MILLISECONDS), //Initial delay 0 milliseconds
Duration.create(30, TimeUnit.MINUTES), //Frequency 30 minutes
null,
"tick",
system.dispatcher(),
null
);
lifecycle.addStopHook(() -> {
Logger.info("----------------------------------- Stop application... ------------------------------");
return CompletableFuture.completedFuture(null);
});
}
}
コンパイルエラー発生箇所・内容
1行目:
この行に複数マーカーがあります
- 型 scala.Function0 を解決できません。必要な .class ファイルから間接的に参照されていま す
- 型 scala.runtime.BoxedUnit を解決できません。必要な .class ファイルから間接的に参照 されています
- 型 scala.concurrent.ExecutionContext を解決できません。必要な .class ファイルから間 接的に参照されています
- 型 scala.concurrent.duration.FiniteDuration を解決できません。必要な .class ファイルか ら間接的に参照されています
22,23行目のDuration:
インポート対象にscala.concurrent.duration.Durationが出てきません
26行目のsystem.dispatcher():
この行に複数マーカーがあります
- 型 ActorSystem のメソッド dispatcher() は存在しない型 ExecutionContextExecutor を 参照しています
- 型 scala.concurrent.ExecutionContextExecutor を解決できません。必要な .class ファイ ルから間接的に参照されています
・build.sbtのライブラリ依存性設定箇所
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
filters,
evolutions,
"org.postgresql" % "postgresql" % "9.4.1210",
"com.amazonaws" % "aws-java-sdk-ses" % "1.11.51",
"com.amazonaws" % "aws-java-sdk-s3" % "1.11.51"
)
どうやら全体的にscalaのライブラリを参照できていないようなのですが、なにか必要な記述やライブラリが抜けているのでしょうか。