問題タブ [vertxoptions]
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.
http - Vert.x HTTP クライアントは、MaxPoolSize よりも多くの接続を作成します
アプリケーションには 8 つのバーティクルがあります。各 Verticle は個別のスレッドにあります。各 Verticle には WebClient ( Vert.x HTTP クライアント) があり、MaxPoolSize を 10 に設定しています
WebClientOptions webClientOptions = new WebClientOptions() .setMaxPoolSize(10)
。
本番ホストでは、IP: ポートごとに 10 を超える接続があることがわかります。
質問 1: MaxPoolSize は、アプリケーション全体またはバーティクルごとにグローバルですか? XXXX:Y の場合、アプリケーションから 10 個の接続または 80 個の接続を作成できますか?
質問 2: DNS に複数の IP を持つホストにリクエストを送信すると、接続プールはホストごとになりますか、それとも IP ごとになりますか? たとえば、gogo.com は 2 つの IP アドレスに解決されます。gogo.com 20 への接続を 10 個作成できますか?
java - Vertx worker verticle の書き方 - 無期限のブロッキング操作?
次のクラスは、events-config という名前のチャネルでイベント バスからメッセージを受信するときにブロック コードを実行するワーカー バーティクルです。
目的は、events-config チャネルで停止操作メッセージを受信するまで、json メッセージを無期限に生成して公開することです。
目的の機能を実現するために executeBlocking を使用しています。ただし、ブロック操作を無期限に実行しているため、vertx はスレッドチェッカーのダンプ警告をブロックしました。
質問:
- 特定のバーティクルに対してのみ、blockedthreadchecker を無効にする方法はありますか??
- 以下のコードは、必要に応じて vertx で無限ループを実行するベスト プラクティスに従っていますか? そうでない場合は、これを行うための最良の方法を提案できますか?