app/services/guice/InjectionConfig.scala (29 lines of code) (raw):

package services.guice import com.google.inject.AbstractModule import drivers.MXSConnectionManager import play.api.Logger import play.api.libs.concurrent.AkkaGuiceSupport import services._ import services.actors.{Auditor, ProjectCreationActor} class InjectionConfig extends AbstractModule with AkkaGuiceSupport { private val logger = Logger(getClass) override def configure(): Unit = { logger.warn(s"Running guice module ${getClass.getCanonicalName}") bind(classOf[TestModeWarning]).asEagerSingleton() //this makes the actor instance accessible via injection bindActor[StorageScanner]("storage-scanner") bindActor[ValidateProject]("validate-project-actor") bindActor[ProjectCreationActor]("project-creation-actor") bindActor[PostrunActionScanner]("postrun-action-scanner") bindActor[CommissionStatusPropagator]("commission-status-propagator") bindActor[RabbitMqPropagator]("rabbitmq-propagator") bindActor[RabbitMqSend]("rabbitmq-send") bindActor[RabbitMqDeliverable]("rabbitmq-deliverable") bindActor[RabbitMqSAN]("rabbitmq-san") bindActor[RabbitMqMatrix]("rabbitmq-matrix") bindActor[Auditor]("auditor") bind(classOf[PeriodicScanReceiver]).asEagerSingleton() bind(classOf[MXSConnectionManager]).asEagerSingleton() bind(classOf[AtomResponderReceiver]).asEagerSingleton() bind(classOf[MissingFilesReceiver]).asEagerSingleton() } }