【发布时间】:2016-07-01 09:31:44
【问题描述】:
我的项目中有一个控制器,它有一个 socket 方法 我想在伴生对象中调用该方法。但不知何故我无法做到这一点,因为我还需要将参数传递给伴生对象对象,我不能。 这是我的代码示例:
class WebSocketController @Inject() (cache:CacheApi)(implicit actorSystem:ActorSystem, materializer:Materializer) extends Controller {
def socket = WebSocket.accept[JsValue , JsValue] { request =>
ActorFlow.actorRef(out => SocketHandlerClass.props(out,postActor))
}
}
/*My Companion Object */
object WebSocketController {
/* how to call socket method here ???*/
}
【问题讨论】:
-
伴生对象可以看作是一组静态 vals/vars/defs。套接字函数是在 WebSocketController 的一个实例上定义的。换句话说,如果不创建 WebSocketController 的实例,就不可能做到这一点。
-
那么,我将如何使用所有这些参数创建 WebSocktetController 类的实例。基本上我想通过将其作为 jar 来调用另一个项目的套接字方法。在这种情况下,我不清楚如何使用伴随对象。
标签: scala playframework akka companion-object