1

問題 : Glassfish V3.1.2.2 および grizzly -websockets v1.9.56 のWebsockets および WebContainer HttpSession 。

参照リンク: http://java.net/jira/browse/GRIZZLY-1289

私はグラスフィッシュサーバーでweb-scoketを使用しています。したがって、webscoket は glassfish V3.1.2.2 と grizzly-websockets v1.9.56 を使用します。

そして、webscoket の作成を完了し、このアプリケーションを使用します。しかし、次のような問題が1つあります。

私はセッションを使用し、webscoket の「DefaultWebSocket」を使用してセッションを取得します。しかし、私は現在のセッションを取得しませんでした (私は new または null not current を取得します)。

コード:

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

DefaultWebSocket defaultWebSocket = new DefaultWebSocket(protocolHandler,listeners);

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

return defaultWebSocket ;
}

「httpSession」オブジェクトが null または新規であり、最新ではありません。

助けて。

4

1 に答える 1

2

glassfish 3.1.2.2 をダウンロードし、 $cp ./grizzly-websockets-1.9.50-fix のように grizzly-websockets-1.9.50.jar ( java.net/jira/browse/GRIZZLY-1289用にダウンロード) でパッチを当てます。 jar glassfish3/glassfish/modules/grizzly-websockets.jar

グラスフィッシュ 3.1.2.2 を起動します $glassfish3/bin/asadmin 開始ドメイン

http-listener-1 $glassfish3/bin/asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.websockets-support-enabled=true の Websocket を有効にします

次に、ブラウザでアプリを実行します。

ありがとう、

于 2013-02-23T09:41:11.807 に答える