Bibliothèque de client du service Azure Web PubSub pour Java
Le service Azure Web PubSub est un service géré par Azure qui permet aux développeurs de créer facilement des applications web avec des fonctionnalités en temps réel et un modèle de publication-abonnement. Tout scénario qui nécessite une messagerie de type publication-abonnement en temps réel entre un serveur et des clients ou entre des clients peut avoir recours au service Azure Web PubSub. Les fonctionnalités en temps réel traditionnelles qui nécessitent souvent une interrogation auprès du serveur ou l’envoi de requêtes HTTP peuvent également utiliser le service Azure Web PubSub.
Cet article décrit la bibliothèque cliente du service Azure Web PubSub.
Vous pouvez utiliser cette bibliothèque dans votre application côté serveur pour gérer les connexions clientes WebSocket, comme illustré dans ce diagramme :
Utilisez cette bibliothèque pour effectuer les opérations suivantes :
- Envoyer des messages à des hubs et des groupes.
- Envoyer des messages à des utilisateurs et des connexions particuliers.
- Organiser des utilisateurs et des connexions en groupes.
- Fermer les connexions
- Accorder, révoquer et vérifier des autorisations pour une connexion existante
Pour en savoir plus, consultez :
- Kit de développement logiciel (SDK) Java de la bibliothèque cliente Azure Web PubSub
- Documentation de référence sur la bibliothèque cliente Azure Web PubSub
- Exemples de bibliothèque cliente Azure Web PubSub pour Java
- Documentation sur le service Azure Web PubSub
Bien démarrer
Prérequis
- Un compte Azure avec un abonnement actif est requis. Si vous n’en avez pas déjà un, vous pouvez créer un compte gratuit.
- Un Kit de développement Java (JDK), version 8 ou ultérieure.
Inclure le package
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-webpubsub</artifactId>
<version>1.0.0</version>
</dependency>
Créer un WebPubSubServiceClient
à l’aide d’une chaîne de connexion
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.connectionString("{connection-string}")
.hub("chat")
.buildClient();
Créer un WebPubSubServiceClient
à l’aide d’une clé d’accès
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.credential(new AzureKeyCredential("{access-key}"))
.endpoint("<Insert endpoint from Azure Portal>")
.hub("chat")
.buildClient();
Exemples
- Diffuser le message vers l’intégralité du hub
- Diffuser un message dans un groupe
- Envoyer un message à une connexion
- Envoyer un message à un utilisateur
Diffuser un message à l’ensemble d’un hub
webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);
Diffusez un message à un groupe
webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);
Envoyer un message à une connexion
webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);
Envoyer un message à un utilisateur
webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);
Résolution des problèmes
Activer la journalisation du client
Vous pouvez définir la variable d’environnement AZURE_LOG_LEVEL
pour afficher les instructions de journalisation figurant dans la bibliothèque de client. Par exemple, le paramètre AZURE_LOG_LEVEL=2
affiche tous les messages d’information, d’avertissement et de journal des erreurs. Les niveaux de journal se trouvent ici : niveaux de journal.
Client HTTP par défaut
Toutes les bibliothèques clientes utilisent le client HTTP Netty par défaut. L’ajout de la dépendance ci-dessus configure automatiquement la bibliothèque de client pour utiliser le client HTTP Netty. La configuration ou la modification du client HTTP est décrite dans le wiki des clients HTTP.
Bibliothèque SSL par défaut
Par défaut, toutes les bibliothèques clientes utilisent la bibliothèque SSL Boring native Tomcat pour activer les performances de niveau natif pour les opérations SSL. La bibliothèque BoringSSL est un fichier uber jar contenant des bibliothèques natives pour Linux/macOS/Windows. Elle offre de meilleures performances que l’implémentation SSL par défaut au sein du JDK. Pour plus d’informations, notamment sur la réduction de la taille des dépendances, consultez [réglage des performances][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].
Utilisez ces ressources pour commencer à créer votre propre application :