glassfish V3.1.2.2和grizzly-websockets v1.9.56中的websockets和WebContainer HttpSession

时间:2013-02-20 06:15:41

标签: websocket glassfish-3 httpsession

问题:glassfish V3.1.2.2和grizzly-websockets v1.9.56中的 Websockets和WebContainer HttpSession

参考链接:http://java.net/jira/browse/GRIZZLY-1289

我正在使用带有glassfish服务器的web-scoket。所以webscoket使用glassfish V3.1.2.2和grizzly-websockets v1.9.56。

我完成了创建webscoket并使用我们的应用程序。但我遇到了一个问题:

我使用会话,我使用" DefaultWebSocket" webscoket。但我没有得到当前的会话(我得到新的或无效的当前)。

代码:

@Override
    public WebSocket createWebSocket(ProtocolHandler protocolHandler,
            final WebSocketListener... listeners) {

DefaultWebSocket defaultWebSocket = new DefaultWebSocket(protocolHandler,listeners);

HttpSession httpSession = defaultWebSocket.getRequest().getSession(false);

return defaultWebSocket ;
}

" HttpSession的" object为null或new不是current。

帮帮我。

1 个答案:

答案 0 :(得分:2)

下载glassfish 3.1.2.2,用grizzly-websockets-1.9.50.jar(下载java.net/jira/browse/GRIZZLY-1289)修补它 $ cp ./grizzly-websockets-1.9.50-fix.jar glassfish3 / glassfish / modules / grizzly-websockets.jar

启动glassfish 3.1.2.2 $ glassfish3 / bin / asadmin start-domain

为http-listener-1启用websockets $ glassfish3 / bin / asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.websockets-support-enabled = true

然后在浏览器中运行您的应用。

谢谢,