Играй! 2.0 Scala -Доступ к глобальному объекту

Я объявил объект, экземпляр которого создается при запуске приложения. Я хочу получить к нему доступ внутри контроллера, который является частью плагина. Я хочу использовать этот плагин, но не могу пройти первую часть --по поиску объекта MyWebsocketConnection. Ни в одном из примеров не показано, как это сделать. Я не хочу вводить в контроллер, потому что я пишу плагин (Я где-то видел статические примеры того, как это сделать ).

Global.scala, приложение-плагин \app\Global.scala

object Global extends GlobalSettings {

  object MyWebsocketConnection {
    val logger = // return something that gets instantiated once, like websocket object for logging to ui
  }

  class MyWebsocketConnection {
    import MyWebsocketConnection.logger
  }

  override def onStart(app: Application) {
    Logger.info("Application has started...");
  }

}

Мой собственный контроллер плагина ведения журналов:

MyLogger.Scala, приложение-плагин \app\controllers\MyLogger.scala

object MyLogger {

  def info(message: String) = {
    // THIS CAN'T BE FOUND ?
    // MyWebsocketConnection.logger.send(message)
  }

}

Итак, из Play! 2.0, которое ссылается на плагин, я бы (вероятно )сделал что-то вроде ниже, но я не могу пройти даже часть перед этим:

MyFutureController.scala, еще один Play! приложение \app\controllers\MyFutureController.scala

object MyFutureController extends Controller {
  def someRandomMethod = Action {
    // Custom logging
    MyLogger.info("Here's my log message!");
    Ok("This documentation stinks!")
  }
}
23
задан 4e6 4 May 2012 в 05:32
поделиться