Akka Typed并且具有MessageAdapters的基类



我正在尝试一些Akka Typed和Scala的东西,实际上是一些非常简单的概念,但我无法使其工作,所以你可以帮助我。

我所有的Actor都将有一个公共Signal,所以我试图将它放在基类中,并让我的所有Actor共享它,但编译器在MessageAdapter中拒绝了它。。。。

所以我的代码如下。。。。

object ContractActor {
sealed trait ContractEvent extends BaseEvent
final case class onApprove(payload: Payload) extends ContractEvent
}
class ContractActor(ctx: ActorContext[ContractEvent]) extends BaseActor {
val listingAdapter = : ActorRef[Receptionist.Listing] = ctx.
messageAdapter(
listing => onAddRelatedEvent(listing)
}

和基本因素

object BaseActor {
trait BaseEvent;
final case class onAddRelatedEvent(listing: Receptionist.Listing) extends BaseEvent
}

编译器抱怨在ContractEvent上不知道onAddRelatedEvent,这让我很惊讶,因为ContractEvent扩展了BaseEvent。。。。

我在这里错过了什么。。。。

扩展BaseActor的类ContractActor不会自动将BaseActor的伴随对象带入作用域。要将其引入作用域,只需将其导入类ContractActor:中即可
import BaseActor._

或者,您可以将内部特质/事例类移动到BaseActor的伴随类中。

最新更新