Я использую akka 2.1.2 через ActorSystem внутри Tomcat, и у меня возникают проблемы с его закрытием. Я вызываю system.shutdown(), который закрывает фактических участников, но два потока akka остаются позади и блокируют Tomcat от остановки: планировщик и диспетчер.Как отключить поток диспетчера в akka ActorSystem
Мне удалось выключить планировщик, вызвав system.scheduler.asInstanceOf [DefaultScheduler] .close() (приведение в кавычки не требуется, поскольку для свойства Планировщик не существует метода закрытия). Однако я не могу понять, как остановить поток (ы) диспетчера. Я пробовал хитроумную технику создания объекта в пакете akka.actor, чтобы я мог вызвать system.dispatcher.shutdown() (защищенный метод), но это не сработало - есть еще одна или несколько потоков диспетчера akka вокруг потом.
Как отключить поток (-ы) диспетчера? Он не должен быть идеальным/правильным способом, пока он работает.
В качестве первого шага я обновился до 2.1.4, так как это замена на замену 2.1.2. –
Используете ли вы 'system. isTerminated', чтобы проверить, действительно ли 'ActorSystem' закрыта? Выключение происходит асинхронно с th e 'system.shutdown'. – sourcedelica