javax.websocket.Session api

javax.websocket.Session api

我需要检索一个 session id 但 Eclipse 告诉我 "The method getId() is undefined for the type Session"

这里 header :

import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

此处错误:

@OnOpen
public void onOpen(Session session){
    System.out.println(session.getId() + " has opened a connection"); 
    //session.getId() is undefined.
    try {
        session.getBasicRemote().sendText("Connection Established");
        //same here getBasicRemote is undefined
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

我用 gradle 构建我的项目。我想我包括了所有依赖项。

dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
compile 'org.glassfish.main.extras:glassfish-embedded-all:4.0-b72'
compile 'javax:javaee-api:7.0'
testCompile group: 'junit', name: 'junit', version: '4.+'
}

然后我 运行 gradle 日食。但是 getId() 仍然未定义。

如果有人有想法!谢谢。

是 'org.glassfish.main.extras:glassfish-embedded-all:4.0-b72' 库覆盖了 javax websocket api。

使用 org.glassfish.main.extras:glassfish-embedded-all:4.1 代替。 奇怪。