处理邮箱问题及测试设计相关探讨
1. 选择合适的邮箱
在选择邮箱类型时,默认邮箱适用于所有用例,包括 BalancingPool / BalancingDispatcher ,此时邮箱会在多个参与者之间共享。若不使用 BalancingPool ,邮箱通常只有一个消息消费者。
在这种情况下,可使用 SingleConsumerOnlyUnboundedMailbox 替代默认邮箱,多数情况下它比默认邮箱更高效,但要记得测量性能变化。不过,该邮箱不能用于 BalancingPool / BalancingDispatcher ,因为其队列实现仅支持单消费者。
操作步骤如下:
1. 在 application.conf 中定义邮箱:
akka.actor.mymailbox{
mailbox-type = "akka.dispatch.SingleConsumerOnlyUnboundedMailbox"
}
- 创建带有该邮箱的参与者:
ActorRef clusterController = system.actorOf(Props.create(MyActor.class).withMailbox("akka.actor.mymailbox"));
超级会员免费看
订阅专栏 解锁全文
3449

被折叠的 条评论
为什么被折叠?



