2013-02-20 56 views
1

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

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

我是使用网络SCOKET与GlassFish服务器。所以webscoket使用glassfish V3.1.2.2和grizzly-websockets v1.9.56。

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

我使用会话,我得到使用webscoket的“DefaultWebSocket”会话。但我没有得到当前会话(我得到新的或null不是最新的)。

代码:

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

DefaultWebSocket defaultWebSocket = new DefaultWebSocket(protocolHandler,listeners); 

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

return defaultWebSocket ; 
} 

“的HttpSession” 对象为空或新的不是最新的。

帮助我。

回答

1

下载GlassFish的3.1.2.2,修补它瓦特/灰熊-的WebSockets-1.9.50.jar(下载java.net/jira/browse/GRIZZLY-1289)像 $ CP ./grizzly-websockets-1.9.50-fix.jar glassfish3/GlassFish的/模块/灰熊,websockets.jar

启动的GlassFish 3.1.2.2 $ glassfish3 /斌/的asadmin启动域

启用HTTP侦听器1 $ glassfish3 /斌/ asadmin的集configs.config的WebSockets。 server-config.network-config.protocol.protocol.http-listener-1.http.websockets-support-enabled = true

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

谢谢,