147.9. vertx-websocket サーバー consumer に接続されているピアへのメッセージ送信
このセクションは、camel-vertx-websocket consumer によってホストされる WebSocket にメッセージを生成する場合にのみ適用されます。外部でホストされている WebSocket にメッセージを生成する場合は適用されません。
vertx-websocket サーバー consumer によってホストされる WebSocket に接続されているすべてのピアにメッセージを送信するには、sendToAll=true エンドポイントオプションまたは CamelVertxWebsocket.sendToAll ヘッダーを使用します。
from("vertx-websocket:localhost:8080/chat")
.log("Got WebSocket message ${body}");
from("direct:broadcastMessage")
.setBody().constant("This is a broadcast message!")
.to("vertx-websocket:localhost:8080/chat?sendToAll=true");
特定のぴあにメッセージを送信する場合は、CamelVertxWebsocket.connectionKey を使用できます。複数のピアは、コンマ区切りリストで指定できます。
connectionKey の値は、ピアが vertx-websocket consumer でイベントをトリガーするたびに決定でき、ピアを識別する一意のキーは CamelVertxWebsocket.connectionKey ヘッダーを介して伝播されます。
from("vertx-websocket:localhost:8080/chat")
.log("Got WebSocket message ${body}");
from("direct:broadcastMessage")
.setBody().constant("This is a broadcast message!")
.setHeader(VertxWebsocketConstants.CONNECTION_KEY).constant("key-1,key-2,key-3")
.to("vertx-websocket:localhost:8080/chat");