私は実際に悪夢の中にいます。私のwebappはチャットにwebsocketsを使用していますが、ここで問題が発生します:
Glassfish 4.1u13 を使用すると、アクセス ログ監視を有効にするまで、すべて正常に機能しました。それ以来、すべての ws リクエストが 2 回行われ、Web ソケットはハンドシェイクを実行できませんでした。 https://java.net/jira/browse/GLASSFISH-21007
Glass Fish 4.1.1 にアップデートしようとした -> 問題 PERSIST
Payara 4.1.1.115 (glassfish のパッチ バージョン) に切り替えようとしたところ、すべてがスムーズに進みました。これで、Glassfish インスタンスで Websocket とアクセス ログを取得できるようになりました。
数分後、ページをリロードすると、クライアント アプリとサーバー間の通信が常に行われるとは限らないことに気付きました。ネットワークを検査 -> ハンドシェイクは正しく行われますが、データを交換できません。
サーバー側では、2 つのシステムを作成しました。1 つはリクエスト サーブレットのフィルターに、もう 1 つは Websocket エンドポイントにあります。すべてのリクエストがサーバーに到着し、ハンドシェイクを行いますが、wss が 101 にアップグレードされたとしても、@OnOpen が呼び出されないことがあります。Tyrus 1.12 (payara は 1.11 を使用) にアップデートし、1.8.1 (機能する Glassfish 4.1u13 で使用されるバージョン) にダウングレードしようとしましたが、何も起こりません。
この動作をデバッグするにはどうすればよいですか?