問題タブ [tyrus]

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.

0 投票する
1 に答える
313 参照

java - GlassFish 4 または Tyrus のバグ: ByteBuffer ごとに Decoder#willDecode が 2 回呼び出されますか?

WebSocket を使用する最も単純なアプリケーションを作成しました。私のバック エンドは GlassFish 4 ビルド 89 です。私のフロント エンドは、Tyrus 1.0 RC3を使用する JavaFX 2.2 アプリケーション クライアントです。これは、WebSocket 用の Java API のリファレンス実装です。GlassFish も Tyrus を使用していますが、GlassFish ビルド 89 に含まれているバージョンを正確に調べるのが面倒でした。

私の WebSocket API のテストでは、送受信が行われましたがjava.util.Date、それ以上のことはありませんでした。さて、バイナリオブジェクトを追加する必要があります。だから私はDecoder実装する独自のものを書きましたDecoder.Binary<Date>。いつものように、新しい知識の分野に足を踏み入れるときは、各メソッド呼び出しをログに記録するのが好きです。コンソールを見ると、私のDeocer.Binary<Date>#willDecode(ByteBuffer)メソッドが同じスレッドによって2 回続けて呼び出されていることがわかりました。それが本当に意図的なものである場合、そのようなパターンのユースケースは何であり、どのような価値が追加されましたか? しかし、それはバグに違いないと思います!GlassFish JIRA サイトでバグ/問題を報告しようとしましたが、どこにもボタンが見つかりませんでした。

0 投票する
1 に答える
1113 参照

java - Websocket クライアントを Glassfish にデプロイできない

スタック オーバーフロー ギークの皆様

Java EE 7 を使用して非常に基本的な Java クライアント/サーバー アプリを作成しようとしていますが、JSR 356 実装を使用して websocket 経由でメッセージを送信することを目的としています。

そこで見つけたさまざまなブログに従って、サーバーのプログラミングとデプロイに成功し、Javascript クライアントと Java サーバーと通信することができました。

今私がやろうとしているのは、サーバーと通信して同じ情報を取得する必要があるスタンドアロンの Java アプリを作成することです。JSR 356 実装は Java クライアントで使用できると読みましたが、まさにそれを実行しました。また、Tyrus を使用してクライアントを作成し、ラッチ メカニズムなどを使用してクライアントを実行し続けました。クライアントは最終的にプログラムされ、サーバーは稼働していますが、クライアントを実行しようとすると、次のエラーが発生します。

私は NetBeans 7.3 で Java EE 7 API + Tyrus を使用しており、Glassfish 4 にデプロイしています (これは、私が読んだことから、JSR 356 実装をサポートしています) さて、一体なぜ CloseReason クラスが見つからないのでしょう! :( その場合はコンパイルされるべきではありませんね。

奇妙なことに、websocket の実装 (JSR 356) に関連する他のクラスについて文句を言っていないのに、サーバー (web-app) をデプロイしたところ、websocket メカニズムは問題なく動作しています。(私はそこにCloseReasonを実装していないと思います..しかし、なぜそれについてだけ不平を言っているのですか!:@)

提供されるヘルプは大歓迎です!!

乾杯、

別のスタック オーバーフロー オタクが助けを求めています。:)

0 投票する
2 に答える
2368 参照

java - tyrus websocket connectToServer - デーモンスレッドをクリーンアップする方法

tyrus websockets ClientManager connectToServer 'ハンドシェイク応答が受信されていません'

デーモン、Grizzly-kernel、Grizzly-worker スレッドを作成せずに接続を再試行するにはどうすればよいですか。Thread-1 から 4 および Grizzly-kernel と Grizzly-worker スレッドを強制終了/クリーンアップするためのセッションまたはクライアントへの呼び出しはありますか?

実行されていないか、定期的に再起動されるサーバーとの接続を確立して維持しようとする JAVA メインラインの例。


0 投票する
1 に答える
165 参照

spring - グレイル 2.3. 0 とプロジェクト タイラス

Grails 2.3.0 と [Project Tyrus][1] 経由のプッシュ通知?

grails 2.3.0 は Tyrus 1.3 でうまく動作しますか?

私が見つけた:http://www.objectpartners.com/2013/06/25/getting-groovy-with-spring-and-websockets/

ただし、これは Tyrus 1.0 に基づいているため、Grizzly でいくつかの問題が発生します。Tyrus の最新バージョンは 1.3 ですが、Spring コンテナーとの統合方法がわかりません。ServerEndpoint ( https://tyrus.java.net/documentation/1.3.1/user-guide.html#d0e1075 )にいくつかのスプリング サービスを挿入するとよいでしょう。

しかし、@Inject でさえ grails 2.3.0 から欠落しているようです。

さらに、tyrus は tomcat 7 と互換性がないようです。

0 投票する
1 に答える
3286 参照

java - Tyrus (JSR 356 実装) を Web コンテナーにデプロイする方法は?

Tyrus を Tomcat 8 コンテナーにデプロイしようとしていますが、失敗しています。ドキュメントによると、クラスを含み、Tyrus クラス/依存関係をサポートする WAR をデプロイできるはずであり、@ServerEndpoint で注釈が付けられたすべてのクラスが WAR で見つかり、websocket エンドポイントとしてデプロイされるはずです。デプロイメント記述子でフィルターを定義していないため、この指示には少し戸惑いましたが、Tomcat 8 で JSR 356 をサポートする未知の魔法に何らかの形で依存しているに違いないと判断しました。そんな魔法。注: Tomcat 8 を使用しているのは、JSR 356 websocket 標準をサポートしていると理解しているためです。また、私のJDKは最新のJava 7バージョンです。

私はこれを調査するのに時間を費やしましたが、コマンドラインから Java アプリケーションとしてサーバー (org.glassfish.tyrus.server.Server) のインスタンスを実行することで、人々が Tyrus で websocket エンドポイントを公開することに成功していることを発見しました。私はこれを試してみましたが、うまくいきます。ただし、Tomcat に WAR をデプロイすることに成功した例はありません。

Tomcat 8 で Tyrus を介して websocket エンドポイントを正常に公開するために必要な手順についての洞察を持っている人はいますか?

0 投票する
1 に答える
178 参照

java - Tyrus Websocket実装の非同期メッセージングは​​整然としていますか?

1 つのスレッドを使用してRemoteEndpoint.Async.sendText(String)のTyrus実装を繰り返し呼び出す場合、クライアントである私がメッセージを送信したときに、メッセージは常に整然と送信されますか?

0 投票する
1 に答える
251 参照

java - Glassfish Websocketの新しいライブスレッドを中断するには?

Websocket を使用して Glassfish 4 Web サーバーをセットアップします。

Webscoket を介して Glassfish に接続するとき、VisualVM を使用してそれを監視し、Glassfish が新しい接続を取得するとライブ スレッドが増加することを確認します。この数値も大きく、時々少し減り(メイジGCのパフォーマンス)、ターンが大きくなる。

私のサーバーが Websocket 経由で 1 分あたり 1000 の新しい接続を取得し、1000 の新しいライブ スレッドが表示される場合、私のサーバーは 2 時間後に問題が発生します。

サーバーをテストするために、約 30000 のスレッドをシミュレートしました。大丈夫です。ただし、スレッド数が 30000 を超えると、次のエラー メッセージが表示されます。

JVM オプション: -Xmx:10240m -Xms:10240m

サーバーへのトラブルを防ぐためにGlassfish Websocketの新しいライブスレッドを中断する方法は?