2.118. Vert.x WebSocket
このエクステンションを使用すると、WebSocket サーバーとして、または既存の WebSocket に接続するクライアントとして機能する WebSocket エンドポイントを作成できます。
これは、quarkus-vertx-http エクステンションによって提供される Eclipse Vert.x HTTP サーバー上にビルドされます。
2.118.1. 含まれるもの リンクのコピーリンクがクリップボードにコピーされました!
-
Vert.x WebSocket コンポーネント、URI 構文:
vertx-websocket:host:port/path
使用方法と設定の詳細は、上記リンクを参照してください。
2.118.2. Maven コーディネート リンクのコピーリンクがクリップボードにコピーされました!
code.quarkus.redhat.com でこのエクステンションを使用して新しいプロジェクトの作成
または、既存のプロジェクトに座標を追加します。
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-vertx-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-vertx-websocket</artifactId>
</dependency>
2.118.3. 使用方法 リンクのコピーリンクがクリップボードにコピーされました!
2.118.3.1. Vert.x WebSocket コンシューマー リンクのコピーリンクがクリップボードにコピーされました!
Vert.x WebSocket コンシューマーを (from ("vertx-websocket") などを使用して) 作成する場合、WebSocket は常に Quarkus HTTP サーバー上でホストされるため、URI 内のホストとポートの設定が冗長になります。
コンシューマーの設定は、簡素化して WebSocket のリソースパスだけを含めることができます。以下に例を示します。
from("vertx-websocket:/my-websocket-path")
.setBody().constant("Hello World");
from("vertx-websocket:/my-websocket-path")
.setBody().constant("Hello World");
vertx-websocket コンシューマーでホスト/ポートを明示的に設定する必要はありません。設定する場合、ホストとポートが、quarkus.http.host および quarkus.http.port の Quarkus HTTP サーバー設定値の値と正確に一致する必要があります。一致しないと、実行時に例外が出力されます。
2.118.3.2. Vert.x WebSocket プロデューサー リンクのコピーリンクがクリップボードにコピーされました!
上記と同様に、内部 Vert.x WebSocket コンシューマーへのメッセージを生成する場合は、エンドポイント URI からホストとポートを省略できます。
from("vertx-websocket:/my-websocket-path")
.log("Got body: ${body}");
from("direct:sendToWebSocket")
.log("vertx-websocket:/my-websocket-path");
from("vertx-websocket:/my-websocket-path")
.log("Got body: ${body}");
from("direct:sendToWebSocket")
.log("vertx-websocket:/my-websocket-path");
あるいは、Quarkus HTTP サーバーのホストとポートの完全な設定を参照することもできます。
from("direct:sendToWebSocket")
.log("vertx-websocket:{{quarkus.http.host}}:{{quarkus.http.port}}/my-websocket-path");
from("direct:sendToWebSocket")
.log("vertx-websocket:{{quarkus.http.host}}:{{quarkus.http.port}}/my-websocket-path");
外部 WebSocket サーバーへのメッセージを生成する場合は、常にホスト名とポート (必要な場合) を指定する必要があります。
2.118.4. 追加の Camel Quarkus 設定 リンクのコピーリンクがクリップボードにコピーされました!
2.118.4.1. Vert.x WebSocket サーバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Vert.x WebSocket サーバーの設定は Quarkus によって管理されます。設定オプションの完全なリストは、Quarkus HTTP 設定ガイド を参照してください。
Vert.x WebSocket サーバーの SSL を設定するには、SSL によるセキュアな接続に関するガイド に従ってください。SSLContextParameters を使用した SSL 用のサーバーの設定は現在サポートされていないことに注意してください。
2.118.4.2. 文字エンコーディング リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションがデフォルト以外のエンコーディングを使用してリクエストを送受信することが想定される場合は、ネイティブモードガイドの 文字エンコーディング のセクションを確認してください。