创建在构造函数中隐含的 akka actor
Create akka actor that has implicit in constructor
是否可以创建一个在构造函数中隐含的 akka actor?
拥有:
class Actor(parameter: Long)(implicit service:Service)
和
class Service
我可以使用上下文来创建这样的演员吗?
implicit val service:Service = new Service()
val someLong = 3
context.actorOf(FromConfig.props(Props(classOf[Actor], someLong)), "actor")
请注意,无法将服务传递给构造函数,因为可以接收到多个不同的参与者 类,它们使用来自范围的不同隐式。
在 Actor 的 Companion 对象中定义您的 Props 并且有利于注入依赖关系。
class SomeActor(parameter: Long)(implicit service:Service) extends Actor {
def receive = {
case message => // Do your stuff
}
}
object SomeActor {
def props(parameter: Long)(implicit service:Service) = Props(new SomeActor(parameter))
}
implicit val service:Service = new Service()
val someLong = 3
val ref = context.actorOf(SomeActor.props(someLong)), "actor")
您可以在此处阅读有关依赖注入的更多信息:
http://doc.akka.io/docs/akka/snapshot/scala/actors.html#Dependency_Injection
http://letitcrash.com/post/55958814293/akka-dependency-injection
是否可以创建一个在构造函数中隐含的 akka actor? 拥有:
class Actor(parameter: Long)(implicit service:Service)
和
class Service
我可以使用上下文来创建这样的演员吗?
implicit val service:Service = new Service()
val someLong = 3
context.actorOf(FromConfig.props(Props(classOf[Actor], someLong)), "actor")
请注意,无法将服务传递给构造函数,因为可以接收到多个不同的参与者 类,它们使用来自范围的不同隐式。
在 Actor 的 Companion 对象中定义您的 Props 并且有利于注入依赖关系。
class SomeActor(parameter: Long)(implicit service:Service) extends Actor {
def receive = {
case message => // Do your stuff
}
}
object SomeActor {
def props(parameter: Long)(implicit service:Service) = Props(new SomeActor(parameter))
}
implicit val service:Service = new Service()
val someLong = 3
val ref = context.actorOf(SomeActor.props(someLong)), "actor")
您可以在此处阅读有关依赖注入的更多信息: http://doc.akka.io/docs/akka/snapshot/scala/actors.html#Dependency_Injection http://letitcrash.com/post/55958814293/akka-dependency-injection