Azure Web PubSub for Java: Real-Time WebSocket Communication at Scale
Real-time communication powers chat applications, live dashboards, collaborative editing, and IoT telemetry displays. Azure Web PubSub provides managed WebSocket infrastructure with pub/sub patterns, eliminating the complexity of maintaining WebSocket servers at scale.
What This Skill Does
Provides WebSocket connection management, pub/sub messaging patterns, user and group management, broadcast messaging to all connections, permission-based access control, and HTTP-based message sending (no WebSocket connection required).
Getting Started
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-webpubsub</artifactId>
</dependency>
Send messages to connected clients:
import com.azure.messaging.webpubsub.WebPubSubServiceClient;
import com.azure.messaging.webpubsub.WebPubSubServiceClientBuilder;
WebPubSubServiceClient client = new WebPubSubServiceClientBuilder()
.connectionString("<connection-string>")
.hub("chat")
.buildClient();
// Broadcast to all connections
client.sendToAll("Hello, everyone!", WebPubSubContentType.TEXT_PLAIN);
// Send to specific user
client.sendToUser("user123", "Private message", WebPubSubContentType.TEXT_PLAIN);
// Send to group
client.sendToGroup("room-1", "Group message", WebPubSubContentType.TEXT_PLAIN);
Key Features
Managed WebSockets eliminate server maintenance. Pub/Sub Patterns enable efficient message routing. Groups organize connections logically. User Identity maps connections to application users. HTTP API sends messages without WebSocket overhead.
When to Use
Use for chat applications, live dashboards, collaborative editing, real-time notifications, multiplayer games, and IoT telemetry displays. Avoid for request/response APIs (use REST) or batch data transfer.
Source
Maintained by Microsoft. View on GitHub