是否有另一种方法,而不是使用Controller的子类从注入的Play Framework池数据库参数db中受益?
这是Documentation建议的内容:
class ScalaControllerInject @Inject()(db: Database) extends Controller {
def index = Action {
var outString = "Number is "
val conn = db.getConnection()
...
Ok(outString)
}
}
但是我想让另一个类查询数据库。这是因为我没有使用Controller类的子类:我正在使用websocket Actor。
这是我想要的目标:
object MyWebSocketActor {
def props(out: ActorRef) = Props(new MyWebSocketActor(out))
}
class MyWebSocketActor(out: ActorRef) extends Actor {
val gson = ToolSingleton.getInstance().getGsonTool()
def receive = {
case msg: String => {
val dbm=(new DbManager(... )). query(msg)
}
}
}
class DbManager @Inject()(db: Database) extends /* ? */ {
def query(s : String) {
var outString = "Number is "
val conn = db.getConnection()
...
}
}
我应该如何扩展DbManager以使用我的演员MyWebSocketActor的函数查询?