【发布时间】:2020-12-20 12:52:15
【问题描述】:
我正在使用 Akka Typed(版本 2.6.8)并且我开发了一个使用 消息适配器的 actor。
object EncoderClient {
sealed trait Command
final case class KeepASecret(secret: String) extends Command
private final case class WrappedEncoderResponse(response: Encoded) extends Command
def apply(encoder: ActorRef[Encode]): Behavior[Command] =
Behaviors.setup { context =>
val encoderResponseMapper: ActorRef[Encoded] =
context.messageAdapter(response => WrappedEncoderResponse(response))
Behaviors.receiveMessage {
case KeepASecret(secret) =>
encoder ! Encode(secret, encoderResponseMapper)
Behaviors.same
case WrappedEncoderResponse(response) =>
context.log.info(s"I will keep a secret for you: ${response.payload}")
Behaviors.same
}
}
}
我想测试一下创建Message Adapter的效果。我看到 testkit 库中有一个类 MessageAdapter 似乎非常适合我的需求。
但是,我在任何地方都找不到如何使用它的示例。有什么帮助吗?
【问题讨论】:
标签: scala akka akka-testkit