一般的にあなたの質問に答えるために:アッカは、非同期メッセージの処理を行うために使用されるスレッドプールを作成します。したがって、次のようなコードを書くと、Akkaは実行を続けるため、アプリケーションは終了しません。
class Root extends Actor {
// create some child actors to do some work
override def receive: Receive = Actor.emptyBehavior
}
object Main {
def main(args: Array[String]): Unit = {
val system = ActorSystem("main")
system.actorOf(Props(new Root))
}
}
、あなたのアプリケーションを終了する必要があるのであれば、通常、あなたはすべての作業が完了し、あなたのルートアクターにこのメッセージを送信されたことを知らせるメッセージを定義します。ルートアクターは、context.system.terminate()
を呼び出してシステムを終了できます。
質問に戻ると、私はなぜAkkaとSpring Bootを組み合わせたいのか分かりません。あなたのスレッドダンプ、私は問題がAkkaに全く関係しているかどうかはわかりません。スレッドがHttpClientの内部にぶら下がっているようです。開いている接続をすべて解放して閉じてもよろしいですか?
コードを投稿してください –
これらのスレッドはすべて「WAITING」(https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html)ですので、彼らはあなたのCPUの50%を取っている可能性があります間違った結論です。 – johanandren