Я объявил объект, экземпляр которого создается при запуске приложения. Я хочу получить к нему доступ внутри контроллера, который является частью плагина. Я хочу использовать этот плагин, но не могу пройти первую часть --по поиску объекта 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!")
}
}