我通过Tomcat中的ActorSystem使用akka 2.1.2,并且无法关闭它。我打电话给正在关闭实际参与者的system.shutdown(),但是两个阿卡线程被留下并阻止Tomcat停止:调度程序和调度程序。如何关闭akka中的调度程序线程ActorSystem
我设法通过调用system.scheduler.asInstanceOf [DefaultScheduler] .close() (由于Scheduler特征没有close方法而需要强制转换)来关闭调度器。但是,我无法弄清楚如何让调度程序线程停止。我尝试了在akka.actor包中创建一个对象的狡猾技巧,以便我可以调用system.dispatcher.shutdown()(一种受保护的方法),但那并不奏效 - 仍然存在一个或多个akka调度程序线程挂起之后。
如何关闭调度程序线程?只要它有效,它不一定是理想的/正确的方式。
作为第一步,我将升级到2.1.4,因为这是替换2.1.2的缺陷 –
您是否在使用'system。 isTerminated'来检查'ActorSystem'是否真的关闭了?关机发生到与此同步e'system.shutdown'调用。 – sourcedelica