set 26, 2014 5:13:00 PM org.glassfish.tyrus.core.AnnotatedEndpoint callMethod
INFO: Exception thrown from onError method public void main.scala.SocksEndpoint2.onError(javax.websocket.Session,java.lang.Throwable).
javax.websocket.DeploymentException: Component provider threw exception when providing instance of class main.scala.SocksEndpoint2.
导致这种情况的原因是什么?我使用的端点几乎完全是空的:
@ServerEndpoint("/websocks")
class SocksEndpoint2(system: ActorSystem) {
@OnMessage
def onMessage(mess: String, session: Session) {
}
@OnClose
def onClose(session: Session) {
}
@OnError
def onError(session: Session , t: Throwable) {
}
}
并通过javascript发送
var exampleSocket = new WebSocket("ws://localhost:8025/websocks")
exampleSocket.send("{}")
并返回上面的错误。
答案 0 :(得分:0)
端点类必须是公共的;
你明确地遇到了SocksEndpoint2
类实例化的问题。它必须是公共的,并且必须具有零参数的构造函数 - 才能执行类似Class.forName(...).newInstance()
的操作。