最近、単純なakkaマイクロカーネルモデルアプリでも問題が発生しました。それはアマゾンec2にとどまることができません。これがログです
Starting Akka...
Running Akka 2.0.5
Deploying file:/data/akka-scala/akka-2.0.5/deploy/catchif2_2.9.2-0.1-SNAPSHOT.jar
[DEBUG] [03/02/2013 09:35:32.626] [main] [EventStream] StandardOutLogger started
[DEBUG] [03/02/2013 09:35:33.415] [main] [EventStream(akka://hellokernel)] logger log1-Slf4jEventHandler started
[DEBUG] [03/02/2013 09:35:33.416] [main] [EventStream(akka://hellokernel)] Default Loggers started
Starting up com.catchif.HelloKernel
Successfully started Akka
Shutting down Akka...
Shutting down com.catchif.HelloKernel
Received message 'HELLO world!'
Successfully shut down Akka
基本的には、すぐに自動的に起動およびシャットダウンします。
Macで同じコードを実行します。それは完全に起きています。これ以外の追加情報はログにありません。
03/02 09:35:33 INFO [hellokernel-akka.actor.default-dispatcher-4] a.e.s.Slf4jEventHandler - Slf4jEventHandler started
03/02 09:35:33 DEBUG[hellokernel-akka.actor.default-dispatcher-3] a.e.EventStream - logger log1-Slf4jEventHandler started
03/02 09:35:33 DEBUG[hellokernel-akka.actor.default-dispatcher-3] a.e.EventStream - Default Loggers started
コードも非常に単純です。
import akka.actor.{ Actor, ActorSystem, Props }
import akka.kernel.Bootable
case object Start
class HelloActor extends Actor {
val worldActor = context.actorOf(Props[WorldActor])
def receive = {
case Start ⇒ worldActor ! "Hello"
case message: String ⇒
println("Received message '%s'" format message)
}
}
class WorldActor extends Actor {
def receive = {
case message: String ⇒ sender ! (message.toUpperCase + " world!")
}
}
class HelloKernel extends Bootable {
val system = ActorSystem("hellokernel")
def startup = {
system.actorOf(Props[HelloActor]) ! Start
}
def shutdown = {
system.shutdown()
}
}
なぜそれが起こるのかわからない。そして、私はそれが一度アマゾンにとどまっているのを見ましたが、それは後でずっと失敗します。
よろしくお願いします、ベスト、ジェームズ