为什么我不能用BushTi绑定到单角色实例(akka路由器)?
目前,我正在努力使用Borthi实现Akka路由器逻辑以进行依赖注入。既然我的actor是一个路由器,我只想要它的一个实例,为什么我不能用sphorti绑定到一个actor实例? 我问这个问题的方式是 我的电脑模块:为什么我不能用BushTi绑定到单角色实例(akka路由器)?,akka,router,dead-letter,scaldi,Akka,Router,Dead Letter,Scaldi,目前,我正在努力使用Borthi实现Akka路由器逻辑以进行依赖注入。既然我的actor是一个路由器,我只想要它的一个实例,为什么我不能用sphorti绑定到一个actor实例? 我问这个问题的方式是 我的电脑模块: class DAOModule extends Module { bind toProvider new UserDaoWorker binding to new UserDaoRouter } 这样,只创建一个实例,只要我多次注入路由器,它就会从发送方方法中获得一个死信
class DAOModule extends Module {
bind toProvider new UserDaoWorker
binding to new UserDaoRouter
}
这样,只创建一个实例,只要我多次注入路由器,它就会从发送方方法中获得一个死信参与者作为发送方
当我将绑定更改为
binding toProvider new UserDaoRouter
。。。它工作得非常好,但每次注入都意味着我的路由器有了一个新的实例。我说得对吗
那么,我怎样才能实现路由器只有一个可注入的实例呢
提前感谢可能是这样的:
将[UserDaoRouter]绑定到新的UserDaoRouter???这对我来说很有用:
class DAOModule extends Module {
binding toProvider new UserDaoWorker
binding toProvider new UserDaoRouter
binding identifiedBy 'singletonUserRouter to {
implicit val system = inject[ActorSystem]
AkkaInjectable.injectActorRef[UserDaoRouter]
}
}
然后在我的控制器中:
val userDaoRouter = inject[ActorRef] ('singletonUserRouter)
我希望这能帮助别人