package akka.demo.actor
import akka.actor.Actor
import akka.actor.IndirectActorProducer
/**
** created by tankx
** 2019/9/11
** 如果有依赖注入方式可使用当前的工厂类的方式进行创建actor
**/
class ActorFactory(var applicationContext: String) : IndirectActorProducer {
override fun actorClass(): Class<out Actor> {
return HelloActor::class.java
}
override fun produce(): Actor {
return HelloActor(applicationContext)
}
}
val actorFactoryRef = system.actorOf(Props.create(ActorFactory::class.java, "aaa"), "aaa")
actorFactoryRef.tell("hi factory", ActorRef.noSender())