問題タブ [jetty-9]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
atmosphere - jetty で websocket を実行中にエラーが発生しました
私は桟橋2.9.1で大気を動かしています。サーバーとの websocket 接続を確立しているときに、onSuspend() イベントでエラーが発生します。
私はatmosphere-jersey 2.1.0を使用しています。メッセージをブロードキャストするためのatmosphere-redis 2.1.0。以下は完全なスタックトレースです
webserver - Jetty 8 と Jetty 9 によってメモリにロードされる数値クラスの大きな違い
Windows 7 マシンで jetty-distribution-8.1.5.v20120716 と jetty-distribution-9.1.2.v20140210 を実行しています。
そして、Jetty 9 では、特に Web アプリがデプロイされた後、メモリにロードされるクラスの数が Jetty 8 によってロードされるクラスの数よりもはるかに多いことがわかりました。
Web アプリケーションは、Spring 3.X と Hibernate 4.1.X を使用して開発されています。
以下は私が観察した数字です。これにより、最初のリクエストの応答が遅くなり、さらに、なぜこれが起こるのか知りたいだけです
Jetty 8 をダウンロードできない場合は、ここからダウンロードできます。
各ケースでロードされたクラスの数を示す JConsole の PFA イメージ
桟橋 8
ウェブアプリなし -- ~1630
ログイン後の Web アプリの場合 -- ~1632
桟橋 9
Web アプリなし -- ~2107 クラス
Web アプリでは、最初は ~8700 クラスで、Web アプリケーションにアクセスすると、最初のリクエストで約 9600 まで増加し、その後のリクエストではスパイクが見られません
Jetty 8 WebApp なし
Jetty 8 と WebApp
Jetty 9 WebApp なし
Jetty 9 と WebApp
servlets - Jetty 9 サーバーで確立されたセッションのセッション ID を変更する
それはすべてタイトルにあります。セッションが作成された後にこれを行う方法はありますか? フォールバック アプローチは、現在のセッションからすべてのデータをコピーして終了し、新しいセッションを作成してデータを元に戻すことですが、これも多くの理由から望ましくありません。
ユースケースはセキュリティに関連しています - セッション ID を時々変更できるようにする必要があるだけです。組み込みの Jetty サーバーを使用しており、「コンテキスト」は 1 つしかありません。
誰にもアイデアはありますか?もしそうなら、助けてください。
jetty - Jetty のホット再デプロイは、サービスを中断することなく機能しますか?
Jetty 9.0.5 で Web アプリを実行しています (更新できます。これを書いている時点では 9.1.2 が最新です)。Jetty ドキュメントで説明され、 で定義されている通常の Web アプリ デプロイヤーがありetc/jetty-deploy.xml
ます。私は Jetty xml ファイルを使用して Web アプリのコンテキストを定義しているため、新しいコードを運用サーバーにプッシュするときは、Jetty xml ファイルを使用して新しいmyapp.war
ファイルをアップロードし、rsync
そのファイルをタッチしmyapp.xml
ます。これは非常にうまく機能しますが、アプリが何らかの異常をスローする数秒があり、NullPointerException
一部のユーザーは静的に提供されるファイル (.js
戦争からのファイル) が破損しているように見えるため、アプリのブラウザーのキャッシュをフラッシュする必要があります。再び働く。
これは完全に機能するはずですか、それともこのような短いデッド タイムが予想されますか?
私はディレクトリに配置せずmyapp.war
(webapps
そこにあるのmyapp.xml
はそこだけです)explodeWars
、true
デプロイヤーにいます。
jetty - Jetty 9.0 には、SPDY を使用するが SSL/NPN を使用しない構成が組み込まれています
SSL/NPN はロードバランサー (Haproxy) を介して処理されるため、Jetty でこれを行う必要はありません。
しかし、私がウェブ上で見ることができるすべての例は、SSL/NPN を使用してこれを行う方法のみを示しています。
これが私がこれまでに試みたことです:
残念ながら、curl やブラウザなどのクライアント経由でサーバーにアクセスしようとすると、何かがおかしいようです。私は何を間違っていますか?
ありがとう
java-8 - jetty 9 + JDK 8 + spring 4 注釈
JDK 8 にアップグレードした後、jetty 9 はスプリング アノテーションをスキャンできなくなりました。次のエラーが表示されます。
jdk 7 を使用したときは正常に動作していました。
スキャンしようとする注釈は、次のようなSpring Framework 4の注釈です。
javaassist 依存関係が存在するかどうかに関係なく、エラーが発生します。
どんな助けでも大歓迎です
ありがとう
java - Jetty サーバーから WebSocket メッセージが送信されない
皆さん!
WebSocket を使用してチャット Web アプリケーションを実装していますが、Jetty 9.1.3.v20140225 で実行すると、接続が確立された直後に、サーバー側から送信された一部のメッセージがクライアント側で受信されません。不思議なことに、この誤動作は一部のメッセージで発生しますが、他のメッセージは問題ありません (最後に私の PS を参照してください)。
Chrome 33 ( permessage-deflate 拡張機能を使用していることはわかっています) と FireFox 28 (使用していない) の両方を試しましたが、同様の結果が得られました。実際、Chrome はいくつかのメッセージを受信しますが、FireFox は何も受信しません。
アプリケーションがTomCat 7.0.47で実行されている場合、問題なく動作するため、問題はJettyにあると思われます...
問題を再現する最小限のアプリケーションのコードを見てみましょう。
最初に、対応するボタンをクリックして、接続、メッセージの送信 (および応答の受信)、および WebSocket の切断を行うことができる簡単なページがあります。
こんにちは.html:
サーバー側には、接続が開かれるとすぐにクライアントにメッセージを送信する単一のエンドポイントがあります (コメントアウトされた行は、Chrome クライアントによって受信されるサンプル メッセージを示しています)。また、クライアントから受信したメッセージをエコーします。
ハローエンドポイント:
最後に、Web アプリケーションをパッケージ化して実行する pom.xml があります。Eclipse内に埋め込まれたmavenプラグインを介して、Jetty(問題が発生する場所)とTomCat(問題なく動作する)の両方を実行しています
pom.xml:
それで全部です!
(mvn jetty:run を呼び出して) Jetty でアプリケーションを実行しているときに、(ページの [接続] ボタンをクリックして) WebSocket に接続するように要求すると、エンドポイントの onOpen() メソッドが実行され、メッセージがクライアントに送り返されますが、表示されると思っていたので受け取っていません。(mvn tomcat7:run を呼び出して) TomCat で同じアプリケーションを実行すると、非常にうまく機能します。
誰かが同様の問題を抱えていましたか?誰が何が起こっているのか手がかりを持っていますか? Jetty サーバーのバグでしょうか?
TIAとよろしく!
ヘレノ
PS:アプリケーションでSpringとSockJSを使用するつもりですが、接続が開かれた直後にSockJSがサーバー上で「オープンフレーム」(「o」のみ)を送信しますが、受信されないため、WebSocketをあきらめてフォールバックに進みます接続し、XHR ストリーミングを行います。それは私が避けようとしているものです。しかし、Spring と SockJS の両方を使用せずに問題を再現できたので (提示されたコードに示されているように)、問題への関与から解放しました。