【问题标题】:How shutdown akka system without terminating messages immediately?如何在不立即终止消息的情况下关闭 akka 系统?
【发布时间】:2014-09-13 10:59:09
【问题描述】:

我编写了一个测试,向 akka 系统中的参与者发送几条消息。测试完成后,akka 系统将关闭。问题是消息在处理之前被异步处理并且系统关闭。

有没有办法告诉akka系统等到邮箱中的所有消息都被actor处理然后关闭?

【问题讨论】:

    标签: scala akka


    【解决方案1】:

    Akka 中没有直接的机制来执行此操作(即没有用于此的 API)。但是在http://letitcrash.com/post/30165507578/shutdown-patterns-in-akka-2 中记录了一种实现方式。检查本文中的“收割者”描述。本文还记录了为什么 Akka 不能直接使用这种机制。

    【讨论】:

      【解决方案2】:

      您应该将Akka TestKit 与以下内容一起使用:

      override def afterAll {
        TestKit.shutdownActorSystem(system)
      }
      

      有关详细信息,请参阅文档。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多