私はソケットメソッドを持つ私のプロジェクトにコントローラを持っています私はコンパニオンobject.Butでそのメソッドを呼び出したいと思いますが、私はパラメータを渡す必要がある私はすることはできませんオブジェクトをコンパニオンにも。 は、ここに私のコードサンプルです:スカラーコンパニオンオブジェクトからコントローラのメソッドを呼び出す
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/defのセットと見ることができます。ソケット関数は、WebSocketControllerのインスタンスで定義されます。つまり、WebSocketControllerのインスタンスを作成せずにこれを行うことはできません。 – irundaia
したがって、これらの引数がすべて必要なWebSocktetControllerクラスのインスタンスを作成するにはどうすればよいですか。基本的には、ソケットメソッドを別のプロジェクトからjarファイルとして呼び出す必要があります。この場合、コンパニオンオブジェクトを使用してソケットメソッドを呼び出す方法がわかりません。 –