override def configure()

in app/Module.scala [11:28]


  override def configure(): Unit = {
    bind(classOf[UserInfoCache]).asEagerSingleton()
    sys.props.get("audit") match {
      case Some("elasticsearch") | None =>
        bind(classOf[AuditRecordDAO]).to(classOf[AuditRecordDAOElastic])
      case Some("mongo") =>
        bind(classOf[AuditRecordDAO]).to(classOf[AuditRecordDAOMongo])
      case Some("none") =>
        bind(classOf[AuditRecordDAO]).to(classOf[AuditRecordDAONull])
      case _=>
        throw new RuntimeException("the `audit` system property must be set to elasticsearch, mongo or none")
    }

    bind(classOf[ServerTokenDAO]).to(classOf[ServerTokenDAORedis])

    bindActor[ObjectCache]("object-cache")
    bindActor[Audit]("audit-actor")
  }