Je souhaite injecter deux acteurs dans un contrôleur de jeu via DI. Injecter un acteur fonctionne absolument bien et je peux envoyer un message à cet acteur sans aucun problème. Cependant, lors de l'injection d'un second acteur et envoyer un message, je reçois l'erreur de compilation suivante:'valeurs implicites ambiguës' lors de l'injection de deux acteurs dans le contrôleur de jeu
play.sbt.PlayExceptions$CompilationException: Compilation error[ambiguous implicit values:
both value fooSupervisor in class MyController of type akka.actor.ActorRef
and value barSupervisor in class MyController of type akka.actor.ActorRef
match expected type akka.actor.ActorRef]
Mon contrôleur ressemble à ceci:
class MyController @Inject()(
implicit system: ActorSystem,
materializer: Materializer,
@Named("FooSupervisor") fooSupervisor: ActorRef,
@Named("BarSupervisor") barSupervisor: ActorRef
) extends Controller {
}
Et le module se présente comme suit:
class Module extends AbstractModule with ScalaModule with AkkaGuiceSupport {
def configure() {
// ....
bindActor[FooSupervisor]("FooSupervisor")
bindActor[BarSupervisor]("BarSupervisor")
()
}
}
Comment puis-je résoudre ce problème?
fyi - J'ai utilisé guice 4.1.0 pour tester le code ci-dessus. – Prashanth