2013-02-20 55 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

然後在瀏覽器中運行您的應用程序。

謝謝,