问题: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。
帮帮我。
答案 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
然后在浏览器中运行您的应用。
谢谢,