Я использую Akka Typed (версия 2.6.8) и разработал актера, использующего адаптер сообщений.
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
}
}
}
Я хочу проверить эффект от создания адаптера сообщений. Я вижу, что в библиотеке testkit есть класс, MessageAdapter, который идеально подходит для моих нужд.
Однако я нигде не могу найти пример того, как его использовать. Любая помощь?