我目前正在探索在Play2.2应用程序中使用Scaldi进行依赖注入。Scaldi依赖注入和Akka Actor
我已阅读Scaldi网站上的文档,但我不清楚的是如何将它与Akka一起使用。
我至今在我的项目:
Models/ (Daos and case classes)
User.scala
Services/ (Akka Actors)
UserService.scala
ProfileService.scala
Managers/ (Regular Manager Classes)
UserManager.scala (The Trait Interface)
UserManagerImpl.scala (An actual implementation)
UserManagerMock.scala (Mocked version)
etc..
在UserService.scala我会使用的UserManager的实例做的工作:
class UserService extends ServiceActor with Injection
{
val userManager = inject[UserManager]
def receive = {
case Register(email: String, password: String)
}
}
object UserService extends Service
{
case class Register(email: String, password: String)
override protected val actorRef = Akka.system.actorOf(Props[UserService].withRouter(SmallestMailboxRouter(resizer = Some(resizer))))
}
然后取决于注入经理,如果将所有的工作委托给经理,这位演员可以被嘲笑吗?
但是,如果经理需要调用其他服务,它们只是伴侣对象呢?或调用其他服务的服务也是通过随播对象引用的?
有没有人有一些关于如何将Akka与Scaldi整合的指针?