2017-04-11 16 views
1

我从Akka配置创建路由器。如何使用Scaldi注入Akka路由器?

val router = context.actorOf(FromConfig.props(MyActor.props), "router") 

我想单元测试路由器所在的Actor,并且能够将路由器注入到Actor中会有帮助。

是否有可能改为使用Scaldi注入此路由器?我知道在Scaldi模块中我可以使用new进行绑定。

binding toProvider new OrderProcessor 

但我似乎无法找到一种方法来从配置创建绑定。

回答

0

属性可以被注入。 在Module

binding identifiedBy "props-from-config" to FromConfig.props(MyActor.props) 

而在演员注入的道具,创造了演员。

private val propsFromConfig = inject[Props]("props-from-config") 
val router: ActorRef = context.actorOf(propsFromConfig, "router") 

然后在单元测试中绑定任何道具。 Actor正在从道具创建角色,并不知道道具来自配置。