class ActorsModule extends AbstractModule with AkkaGuiceSupport {
def configure() = {
bind(classOf[MessageInit]).asEagerSingleton()
bind(classOf[Actors]).asEagerSingleton()
@Provides
@Named("manager-actor")
def managerActor(actors: Actors): ActorRef = actors.manager
}
}
@Singleton
class Actors @Inject() (system: ActorSystem) {
val manager = system.actorOf(ManagerActor.props)
}
@Singleton
class MessageInit @Inject()(actorSystem: ActorSystem,
@Named("manager-actor") managerActor: ActorRef) {
println("Starting messages...")
managerActor ! "start"
}